1.計算緩存大小
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"; } }); }
2.清除手機緩存
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(); }); } }
原文鏈接:https://blog.csdn.net/qq_31754523/article/details/107321688