鸿蒙清除缓存功能
【代码】鸿蒙清除缓存功能。
·
获取缓存大小
前置知识:
- storageStatistics.getCurrentBundleStats 第三方应用异步获取当前应用存储空间大小(单位为Byte),以Promise方式返回。
落地代码:
@State
cache: string = ''
calcCache() {
//获取当前应用的资源信息
storageStatistics.getCurrentBundleStats()
.then(res => {
this.cache = (res.cacheSize / (1000 * 1000)).toFixed(2) + 'MB'
})
}
onPageShow(): void {
this.calcCache()
}
清理缓存
前置知识:
accessSync(path: string, mode?: AccessModeType): boolean以同步方法检查文件是否存在。rmdirSync(path: string): void以同步方法删除目录。- 应用有两个缓存目录,一个 entry hap的,一个应用的
实现步骤
- 获取上下文
- 获取cache目录
- 判断是否有该目录
- 删除该目录
落地代码:
clearCache() {
const ctx = getContext()
//获取当前ability的缓存路径
const ctxCacheDir = ctx.cacheDir
//判断是否有这个文件
const ctxExist = fileIo.accessSync(ctxCacheDir)
if (ctxExist) {
//清除缓存
fileIo.rmdirSync(ctxCacheDir)
}
//获得应用级的上下文
const app = ctx.getApplicationContext()
//应用级的缓存目录
const appCacheDir = app.cacheDir
//判断有无文件
const appExist = fileIo.accessSync(appCacheDir)
if (appExist) {
//清除缓存
fileIo.rmdirSync(appCacheDir)
}
promptAction.showToast({ message: '清理完毕' })
this.calcCache()
}
适用HarmonyOS NEXT / API12或以上版本
更多推荐

所有评论(0)