HarmonyOS 清理缓存,有没有相关清理缓存一套逻辑和相关代码呢

有没有相关清理缓存一套逻辑和相关代码呢

HarmonyOS
2024-08-04 18:24:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
kraml

目前没有直接清除缓存的api,查询缓存用storageStatistics.getCurrentBundleStats()接口。

清除文件缓存,需要调用context的cacheDir获取缓存,然后调用系统文件fs接口,判断是文件或者文件夹,再分别消除缓存。

详细用法见下面的链接:查询:

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

接口文档地址:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5

清理文件demo如下:

import fs from ‘@ohos.file.fs’; 
let cacheDir = context.cacheDir; 
@Entry 
@Component 
struct Clear_cache { 
  clearCache() { 
    // let cacheDir = getContext(this).cacheDir 
    // fs.rmdirSync(cacheDir) 
    // console.log(“delete !!!”) 
 
    fs.listFile(cacheDir).then((filenames) => { 
      for (let i = 0;i < filenames.length; i++) { 
        // let dirPath = cacheDir+filenames[i] 
        let dirPath = ${cacheDir}/${filenames[i]} 
        // 判断是否文件夹 
        let isDirectory 
        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) => { 
            console.info("remove file failed with error message: " + err.message + ", error code: " + err.code); 
          }); 
        } 
      } 
 
    }) 
  } 
}
分享
微博
QQ
微信
回复
2024-08-05 12:56:39
相关问题
如何获取缓存数据清理缓存
389浏览 • 1回复 待解决
DevEco有没有清理调试应用缓存的功能
3996浏览 • 1回复 待解决
HarmonyOS 如何清理 web 缓存
68浏览 • 1回复 待解决
HarmonyOS ArkWeb如何清理缓存
55浏览 • 1回复 待解决
HarmonyOS 关于应用清理缓存
38浏览 • 1回复 待解决
用file api清理缓存目录
834浏览 • 1回复 待解决
鸿蒙一套代码如何做到多端适配
3477浏览 • 1回复 待解决
有没有代码相关的文档可以阅读?
2788浏览 • 1回复 待解决
鸿蒙-有没有缓存工具类
5961浏览 • 1回复 待解决
hvigor如何对一套代码实现差异化打包
476浏览 • 1回复 待解决
HarmonyOS APP有没有清除缓存的接口
456浏览 • 1回复 待解决
HarmonyOS ArkTS有没有相关资料?
130浏览 • 1回复 待解决
有没有base64转化的相关代码
836浏览 • 0回复 待解决
有没有NativeVSync的相关使用文档
1914浏览 • 1回复 待解决