HarmonyOS 鸿蒙Next如何清除缓存

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何清除缓存

在文档中只找到了获取缓存大小的api,没有找到清理缓存的api,也没有找到删除文件的api,请问原生开发如何删除缓存呢

12 回复
猜测你删除文件时没有判断文件是否存在,导致报错了,所以文件没有全部清除,我参考这篇文章,没什么问题https://developer.huawei.com/consumer/cn/forum/topic/0204158423905451020?fid=0109140870620153026
遇到同样的问题,大佬解决了吗
获取缓存是哪个接口啊

cke_164.png

这个获取的是存储空间的大小。

是获取存储空间大小,但是BundleStats里面有 appSize、cacheSize、和 dataSize三个属性,文档中写的是 cacheSize的取值,来自于这四个路径,我是用fs.rmdir清除这4个路径后,然后去storageStatistics.getCurrentBundleStats 获取cacheSize的大小,总是清理不干净,每次都剩6731540Byte /data/storage/el1/base/cache /data/storage/el1/base/haps/entry/cache /data/storage/el2/base/cache /data/storage/el2/base/haps/entry/cache

你删之前判断一下目录是否存在,存在就删除。删了后再进行判断目录是否还在。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

删除之后,看了下目录不存在了,但是获取出来的cacheSize还是6731540Byte,这个是固定的嘛,因为项目需求是 要显示缓存大小的

楼主您好,

删除目录的接口可参考:fs.rmdir

删除文件的接口可参考:fs.unlink

你好fs.rmdir 这个删除目录的接口,删除这4个目录地址,是不是删除不干净呀,我删除的这4个地址,
fs.rmdir(’/data/storage/el1/base/cache’,) fs.rmdir(’/data/storage/el1/base/haps/entry/cache’,) fs.rmdir(’/data/storage/el2/base/cache’,) fs.rmdir(’/data/storage/el2/base/haps/entry/cache’,),但是每次都剩6731540Byte 删除不干净,文档上 storageStatistics.getCurrentBundleStats这个获取cacheSize的api写的也是获取的这4个目录的大小

const cacheDir = getContext(this).cacheDir fileIo.rmdirSync(cacheDir) 再清理一下App内部的缓存目录就好了

回到顶部