uniapp 清除本地缓存

**注意在onLoad里面执行下getStorageSize(),当页面进入之后就获取下本地缓存的大小**
onLoad() {
	this.getStorageSize()
}



// 获取本地缓存大小
getStorageSize() {
    let that = this;
    plus.cache.calculate(function(size) {
        let sizeCache = parseInt(size)
		if (sizeCache == 0) {
			that.currentSize = "0B";
		} else if (sizeCache < 1024) {
			that.currentSize = sizeCache + "B";
		} else if (sizeCache < 1048576) {
			that.currentSize = (sizeCache / 1024).toFixed(2) + "KB";
		} else if (sizeCache < 1073741824) {
			that.currentSize = (sizeCache / 1048576).toFixed(2) + "MB";
		} else {
			that.currentSize = (sizeCache / 1073741824).toFixed(2) + "GB";
		}
	})
},
// 清理缓存
clearStorage() {
    let that = this;
	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;
		console.log(files, len)
		for (let i = 0; i < len; i++) {
            // 没有找到合适的方法获取路径,这样写可以转成文件路径 
			let filePath = '' + files[i] 
			plus.io.resolveLocalFileSystemURL(filePath, function(entry) {
			if (entry.isDirectory) {
                //递归删除其下的所有文件及子目录
				entry.removeRecursively(function(entry) { 
					that.files = []
					uni.showToast({
						title: '清除成功',
						duration: 2000
					});
					that.getStorageSize(); // 重新计算缓存  
					}, function(e) {
						console.log(e.message)
					});
					} else {
						entry.remove();
					}
					}, function(e) {
						console.log('文件路径读取失败')
					});
				}
			} else { // ios  
				plus.cache.clear(function() {
					uni.showToast({
						title: '清除成功',
						duration: 2000
					});
					that.getStorageSize();
				});
			}
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XJF_XH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值