uni-app app清除本地的缓存,app使用一段时间缓存数据导致app卡顿,清理缓存
记录一下操作
设置里面有清理缓存按钮,点击按钮清除缓存
export default {
components: {
uniIcons,
uniPopup,
confirmPop
},
data() {
return {
fileSizeString: ""
}
},
onLoad() {
this.formatSize()
},
onShow() {
},
onHide() {
},
methods: {
resetPassword(){
uni.setStorage({ //将用户信息保存在本地
key: 'userInfoss',
data: "设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置"
})
},
chackAppUpdate(){
//测试会不会清除本地账号等数据存储
uni.getStorage({
key: 'userInfoss',
success: function (res) {
console.log(res.data);
}
});
uni.showToast({
title: '缓存清理'+this.fileSizeString,
duration: 2000
});
},
// 获取缓存
formatSize() {
let that = this;
plus.cache.calculate(function(size) {
let sizeCache = parseInt(size);
if (sizeCache == 0) {
that.fileSizeString = "0B";
} else if (sizeCache < 1024) {
that.fileSizeString = sizeCache + "B";
} else if (sizeCache < 1048576) {
that.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";
} else if (sizeCache < 1073741824) {
that.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
} else {
that.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
}
});
},
// 清除缓存
handleClearCache() {
let that = this
that.$refs.popupSet.close()
uni.showModal({
title: '清除缓存',
content: '您确定要清除缓存吗?',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定');
that.clearCache()
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
// 清理缓存
clearCache() {
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) { //递归删除其下的所有文件及子目录
uni.showToast({
title: '缓存清理完成',
duration: 2000
});
that.formatSize(); // 重新计算缓存
}, 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.formatSize();
});
}
},
}
}
使用h5+plus方法清除,必须真机调试才可以
此方法不会清除 uni.setStorage uni.setStorageSync 数据