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();
				});
			}
}

你可能感兴趣的:(uni-app)