HarmonyOS 清除缓存功能

HarmonyOS 清除缓存功能。

HarmonyOS
10h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

​查询缓存用storageStatistics.getCurrentBundleStats()接口,清除文件缓存,需要调用context的cacheDir获取缓存,然后调用系统文件fs接口,判断是文件或者文件夹,再分别消除缓存详细用法见下面的链接:

查询:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-storage-statistics-V5

清理demo:​

export function clearCache(context:common.UIAbilityContext) { 
  let cacheDir = context.cacheDir 
 
  fs.listFile(cacheDir).then((filenames) => { 
    for (let i = 0;i < filenames.length; i++) { 
      let dirPath =cacheDir+filenames[i] 
      // 判断是否文件夹 
      let isDirectory:boolean = false 
      try { 
        isDirectory = fs.statSync(dirPath).isDirectory() 
      } 
      catch (e) { 
        console.log(e) 
      } 
 
      if (isDirectory) { 
        fs.rmdirSync(dirPath) 
      } else { 
        fs.unlink(dirPath).then(() => { 
          console.info('remove file succeed'); 
        }).catch((err:BusinessError) => { 
          console.info("remove file failed with error message: " + err.message + ", error code: " + err.code); 
        }); 
      } 
    } 
 
  }) 
}

注意,如果要清理el1密级的缓存,可以先使用 context.area = contextConstant.AreaMode.EL1;切换到el1分区。

分享
微博
QQ
微信
回复
3h前
相关问题
HarmonyOS 清除Web缓存
527浏览 • 0回复 待解决
HarmonyOS web清除缓存问题
27浏览 • 1回复 待解决
HarmonyOS Web如何实现清除缓存
381浏览 • 1回复 待解决
HarmonyOS怎么清除当前应用的缓存
545浏览 • 1回复 待解决
HarmonyOS APP有没有清除缓存的接口
295浏览 • 1回复 待解决
如何通过命令号清除应用缓存
1944浏览 • 1回复 待解决
HarmonyOS Image 组件有缓存功能吗?
147浏览 • 1回复 待解决
DevEco有没有清理调试应用缓存功能
3787浏览 • 1回复 待解决
HarmonyOS sdk如何清除cookie?
30浏览 • 1回复 待解决
HarmonyOS 路径规划如何清除路线
286浏览 • 1回复 待解决
HarmonyOS音频缓存问题
330浏览 • 1回复 待解决
HarmonyOS 图片缓存机制
191浏览 • 1回复 待解决
HarmonyOS 图片缓存策略
262浏览 • 1回复 待解决