HarmonyOS 图片缓存需要多长时间,为啥加了setImageRawDataCacheSize依旧没有缓存图片

下面的demo代码在运行时,抓包发现依旧会下载两次图片,请问为啥图片设置了缓存没有生效

demo:

import app, { AppResponse } from '@system.app'

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  @State hasComplete: boolean = true;
  @State imageUrl: string = ""
  @State imageShow : boolean = false

  onPageShow() {
    // 设置解码前图片数据内存缓存上限为100MB (100MB=100*1024*1024B=104857600B)
    app.setImageRawDataCacheSize(104857600)
    console.info('Application onPageShow')
  }

  build() {
    Stack({alignContent: Alignment.Top}) {
      if (this.hasComplete) {
        Image(this.imageUrl)
          .width(500)
          .height(150)
          .margin(100)
          .onComplete(mes => {
            this.imageShow = true
          })
      }
      Image("https://***.com/th?id=OHR.FireWave_ZH-CN7110736577_1920x1200.jpg")
        .width(200)
        .height(150)
        .margin(15)
        .onComplete(msg => {
          this.hasComplete = true
          this.imageUrl = "https://***.com/th?id=OHR.FireWave_ZH-CN7110736577_1920x1200.jpg"
        })
        .visibility(this.imageShow ? Visibility.Visible : Visibility.Hidden)
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
HarmonyOS
2025-01-09 14:58:40
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

onComplete回调中返回的loadingStatus状态值为0时,表示图片数据加载成功。返回的状态值为1时,表示图片解码成功。建议在loadingStatus返回值为1的时候再进行图片地址的赋值,这样可保证图片使用缓存,而不进行二次下载。

参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-image-V5#oncomplete

分享
微博
QQ
微信
回复
2025-01-09 17:45:28


相关问题
HarmonyOS 上架审核的时间多长时间
1860浏览 • 1回复 待解决
HarmonyOS 图片缓存机制
1095浏览 • 1回复 待解决
HarmonyOS 图片缓存问题
728浏览 • 1回复 待解决
HarmonyOS 图片缓存策略
1195浏览 • 1回复 待解决
HarmonyOS 图片缓存问题
737浏览 • 1回复 待解决
HarmonyOS Image组件的网络图片缓存
1089浏览 • 1回复 待解决
鸿蒙-有没有缓存工具类
6898浏览 • 1回复 待解决