有个需求,就是显示app的应用缓存数据大小,点击清除;
清除代码如下:(清除后,获取cache的文件大小还是没变)
clearCacheData() {
const context: Context = getContext(this);
let cacheDir = context.cacheDir
let filenames: string[] = fs.listFileSync(cacheDir)
for (let i = 0; i < filenames.length; i++) {
let dirPath = cacheDir + '/' + filenames[i]
try {
// 判断是否文件夹
let isDirectory = fs.statSync(dirPath).isDirectory()
if (isDirectory) {
fs.rmdirSync(dirPath)
} else {
fs.unlinkSync(dirPath)
}
} catch (e) {
LogUtil.e(TAG, JSON.stringify(e))
}
}
}
可以尝试下fs.rmdir(getContext(this).cacheDir); 试试这个API直接删除缓存目录,不仅仅包含自己存储的数据,以及web异步加载网页的缓存等等