HarmonyOS 如何主动清空应用自身缓存文件夹路径下的所有文件和文件夹
如何在应用内部通过代码清空自身的缓存文件夹下的所有东西,以应对如h5 webview 缓存异常时,用户能手动清理(不用去系统设置的那种)
我们尝试获取cacheDir后进行文件删除处理会报错:
拿到的cacheDir为/data/storage/el2/base/haps/phone/cache
拿到的fileList只有一个元素diskLruCache
执行fs.statSync就报错,No such file or directory
clearAppCache(params: Params) {//清空当前应用缓存
if(params?.context != undefined) {
try {
let cacheDir = params.context.cacheDir
let fileList = fs.listFileSync(cacheDir)
fileList.forEach((value, index) => {
let stats = fs.statSync(value)
if(stats.isDirectory()) {
fs.rmdirSync(value)
} else if(stats.isFile()) {
fs.unlink(value)
}
})
} catch (err) {
logD(settingsModuleTag, 'clear App Cache error: ' + JSON.stringify(err))
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 5.0.0.31 的SDK版本出的包会在文件夹路径下面产生hiappevent文件夹
555浏览 • 1回复 待解决
HarmonyOS Media文件夹下能创建子文件夹吗?
667浏览 • 1回复 待解决
新建项目,选择文件夹,修改项目名会覆盖选择的文件夹路径
1138浏览 • 1回复 待解决
如何打开指定文件夹,选择文件返回
9290浏览 • 1回复 待解决
HarmonyOS fs 文件操作中如何判断 给出的路径是文件还是文件夹
612浏览 • 1回复 待解决
打包包含ohosTest文件夹和test文件夹吗
1107浏览 • 1回复 待解决
ATS如何判断路径是文件夹还是文件?
956浏览 • 1回复 待解决
HarmonyOS 如何获取公共目录的文件夹路径?
724浏览 • 1回复 待解决
鸿蒙桌面怎么批量删除文件夹,或者文件夹重组,重新分类
12437浏览 • 1回复 待解决
apache下文件夹没有访问权限
2869浏览 • 0回复 待解决
HarmonyOS 如何通过api获取公共目录下的图片文件夹路径
371浏览 • 1回复 待解决
复制rawfile路径下data里面的所有文件和文件夹 到本地沙箱 然后提供给C++侧本地沙箱保存的路径
2144浏览 • 1回复 待解决
单个文件夹空间的统计
1183浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件夹
385浏览 • 1回复 待解决
HarmonyOS 获取手机图片文件夹
771浏览 • 0回复 待解决
HarmonyOS rawFile文件夹合并问题
563浏览 • 1回复 待解决
HarmonyOS QDesktopServices::openUrl打开文件夹时提示暂无支持此类文件的应用
190浏览 • 1回复 待解决
HarmonyOS 下载的文件如何在手机文件夹查看
524浏览 • 1回复 待解决
HarmonyOS 怎么保存文件到手机的download文件夹
661浏览 • 1回复 待解决
鸿蒙是否有对文件夹加密接口?
999浏览 • 2回复 待解决
HarmonyOS 图库的视频文件是放在哪个文件夹呢
600浏览 • 1回复 待解决
如何将rawfile下的文件写入到手机本地文件夹中
928浏览 • 1回复 待解决
请问ArkTs API8如何遍历文件夹,得到文件夹下的目录?
3659浏览 • 1回复 待解决
HarmonyOS 文件下载后文件夹内找不到对应文件
403浏览 • 1回复 待解决
Linux中Shell脚本判断文件或文件夹是否存方法
6313浏览 • 0回复 待解决
缓存存在于四个文件夹中:(其中el1与el2因为分区不同,需要切换加密等级才能获取到)
el1与el2区别:
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-core-file-kit-V5#section884742814364
当前暂无直接清除所有缓存接口
一是需要通过hdc指令清除:
hdc shell bm clean -d -n com.huawei.xx.xxx
hdc shell bm clean -c -n com.huawei.xx.xxx
hdc shell bm uninstall -n com.huawei.xx.xxx -m commonLibrary
hdc shell bm dump -n com.huawei.xx.xxx
二是代码层面清除:
项目代码中调用api接口清除:应用自己把清除数据和缓存功能做到应用自己里面。其实清除缓存就是应用下的cache目录,即context.cacheDir。清理缓存,就是遍历cache目录下删除下面所有文件(cache目录无法删除)。清理数据,就是应用安装在设备后的应用下files,temp,preferences目录,也就是遍历这些目录下删除所有文件(目录无法删除)。也开放了清除数据的api接口ApplicationContext.clearUpApplicationData。