计算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.csdn.net/qq_31754523/article/details/107321688