HarmonyOS image组件加载大图,加载缓慢?

如题:HarmonyOS image组件加载大图,加载缓慢?

阅读 544
1 个回答

可以尝试Image组件提供预下载图片能力

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-system-app-V5\#setimagerawdatacachesize7

可参考以下demo:

import app, { AppResponse } from '@system.app'
@Entry
@Component
struct Page3 {
  //app.setImageRawDataCacheSize方法需要在由@Entry标记的页面,onPageShow或aboutToAppear里面设置才生效
  onPageShow() {
    // 设置解码前图片数据内存缓存上限为100MB (100MB=100*1024*1024B=104857600B)
    app.setImageRawDataCacheSize(104857600)
    console.info('Application onPageShow')
  }
  onDestroy() {
    console.info('Application onDestroy')
  }
  @State alt:Resource =$r('app.media.foreground')

  build() {
    Row() {
      Column() {
        Image($r(''))
          .onError(()=>{
            console.log('demoTest')
            this.alt = $r('app.media.icon')
          })
          .alt(this.alt)
          .width(100)
          .height(100)
      }
    }
  }
}