您的位置:首页 > 房产 > 建筑 > 项目开发中关于 uniapp实现 Android和IOS获取App缓存,清除缓存功能

项目开发中关于 uniapp实现 Android和IOS获取App缓存,清除缓存功能

2024/7/6 19:45:03 来源:https://blog.csdn.net/qq_57162921/article/details/139980708  浏览:    关键词:项目开发中关于 uniapp实现 Android和IOS获取App缓存,清除缓存功能

新建按钮

<u-button shape="circle" plain type="info" @click="clearStorage"><text style="color: #000;font-size: 32rpx;">当前缓存: {{fileSizeString}}, 点击清除缓存</text></u-button>

获取本机缓存

// 获取缓存
formatSize() {plus.cache.calculate((size) => {let sizeCache = parseInt(size);if (sizeCache == 0) {this.fileSizeString = "0B";} else if (sizeCache < 1024) {this.fileSizeString = sizeCache + "B";} else if (sizeCache < 1048576) {this.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";} else if (sizeCache < 1073741824) {this.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";} else {this.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";}});
},

清除缓存

// 清除缓存确认
clearStorage() {uni.showModal({title: '清除缓存',content: '您确定要清除缓存吗?',success: (res) => {if (res.confirm) {console.log('用户点击确定');this.clearCache();} else if (res.cancel) {console.log('用户点击取消');}}});
},// 清除缓存
clearCache() {let os = plus.os.name;if (os == 'Android') {let main = plus.android.runtimeMainActivity();let sdRoot = main.getCacheDir();let files = plus.android.invoke(sdRoot, "listFiles");let len = files.length;for (let i = 0; i < len; i++) {let filePath = '' + files[i]; plus.io.resolveLocalFileSystemURL(filePath, (entry) => {if (entry.isDirectory) {entry.removeRecursively((entry)  => { uni.showToast({title: '缓存清理完成',duration: 2000});this.formatSize();  }, (e) => {console.log(e.message)});} else {entry.remove();}}, (e) => {console.log('文件路径读取失败')});}} else { // ios  plus.cache.clear(() =>{uni.showToast({title: '缓存清理完成',duration: 2000});this.formatSize();});}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com