小程序及H5
获取缓存:
使用uniapp中的wx.getStorageInfoSync()方法可以获取当前小程序或H5应用的本地缓存信息,如下所示:
let storageInfo = uni.getStorageInfoSync()
console.log(storageInfo)
其中,storageInfo是一个对象,包含以下属性:
- keys:Array,存储当前缓存中所有的key(即缓存的键值对中的key);
- currentSize:Number,当前缓存数据的大小,单位为KB;
- limitSize:Number,当前缓存允许的最大数据大小,单位为KB。
清除缓存:
使用uniapp中的wx.clearStorageSync()方法可以清除当前小程序或H5应用的本地缓存,如下所示:
uni.clearStorageSync()
注意:
- 这个方法将清除所有的本地缓存,因此请谨慎使用;
- 如果只想清除特定的缓存,可以使用wx.removeStorageSync()方法来移除指定的缓存。
APP
获取缓存:
// 获取缓存getAppInfo() {// #ifdef APP-PLUSlet self = this;plus.cache.calculate(size => {if (size < 1024) {self.cacheSize = size + 'B';} else if (size / 1024 >= 1 && size / 1024 / 1024 < 1) {self.cacheSize = Math.floor((size / 1024) * 100) / 100 + 'KB';} else if (size / 1024 / 1024 >= 1) {self.cacheSize = Math.floor((size / 1024 / 1024) * 100) / 100 + 'M';}});// #endif},
清除缓存:
//清除缓存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) { //递归删除其下的所有文件及子目录 that.getAppInfo(); // 重新计算缓存}, function(e) {console.log(e.message)});} else {entry.remove();}}, function(e) {console.log('文件路径读取失败')});}uni.showToast({title: '缓存清理完成',duration: 2000});} else { // ios plus.cache.clear(function() {uni.showToast({title: '缓存清理完成',duration: 2000});that.getAppInfo();});}},