计算app缓存与清理缓存

本文详细介绍在uniapp中如何计算应用内缓存大小,并提供跨平台(Android、iOS)的缓存清除方法,包括使用原生接口进行深度清理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算app缓存与清理缓存

uniapp中计算和清除应用内的缓存

计算缓存

// 计算缓存
formatSize() {  
   plus.cache.calculate( function (size) {
		let sizeCache = parseInt(size);  
		if (sizeCache == 0) {
			console.log("0B")
		} else if (sizeCache < 1024) { 
			console.log(sizeCache + "B")
		} else if (sizeCache < 1048576) {  
			console.log((sizeCache / 1024).toFixed(2) + "KB")
		} else if (sizeCache < 1073741824) {  
			console.log((sizeCache / 1048576).toFixed(2) + "MB")
		} else {  
			console.log((sizeCache / 1073741824).toFixed(2) + "GB")
		}
	});
}

清除缓存

// 清除缓存
clear(){
	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;  
		for (let i = 0; i < len; i++) {  
			let filePath = '' + files[i]; // 没有找到合适的方法获取路径,这样写可以转成文件路径  
			plus.io.resolveLocalFileSystemURL(filePath, function(entry) {  
				if (entry.isDirectory) {  
					entry.removeRecursively(function(entry) { //递归删除其下的所有文件及子目录  
						plus.nativeUI.toast('缓存清理完成');
						that.formatSize(); // 重新计算缓存  
					}, function(e) {  
						console.log(e.message)  
					});  
				} else {  
					entry.remove();  
				}  
			}, function(e) {
				plus.nativeUI.toast('文件路径读取失败');
			});  
		}  
	} else { // ios  
		plus.cache.clear(function() {
			plus.nativeUI.toast('缓存清理完成');
			that.formatSize();  // 重新计算缓存
		});  
	} 
}

原创地址
https://blog.youkuaiyun.com/qq_31754523/article/details/107321688

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值