随手记: 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();
				});
			}
		}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

peachSoda7

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

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

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

打赏作者

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

抵扣说明:

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

余额充值