OpenHarmony基础组件—图片加载ImageKnife

1、参考资源

1、资源相关地址:

ImageKnife: 专门为OpenHarmony打造的一款图像加载缓存库,致力于更高效、更轻便、更简单 (gitee.com)

OpenHarmony图形基础组件---ImageKnife_imageknife progresslistener-CSDN博客

OpenHarmony ArkUI框架开发-ImageKnife渲染层重构_imageknifecomponent 圆角-CSDN博客

鸿蒙版本:Api12

2、功能源码解析

1、ImageAnimator动画加载和控制;

组件:ImageKnifeAnimatorComponent;

主要设置:

1、ImageKnifeOption; 1、图片加载相关设置:图片地址、占位图、失败图;2、缓存相关设置:缓存策略,加载策略;3、加载任务优先级设置、加载状态回调;上下文;图片转化设置;

2、AnimatorOption;主要动画控制回调方法;state;iterations;reverseonStart;onFinish;onPause;onCancel;onRepeat;

3、Component组件相关设置;width、height、backgroundColor、margin;

加载流程

1、ImageKnifeAnimatorComponent中通过组件的生命周期处理图片加载;状态设置等;

2、使用@Monitor监听外部参数设置改变;

3、使用系统控件ImageAnimator显示加载的图片和设置图片相关属性和状态回调;

4、使用ImageKnife管理图片加载任务和图片缓存;

2、Hsp预加载图片

复制代码
ImageKnife.getInstance()
  .preLoadCache('https://img.xxx')
  .then((data) => {
    console.log("preLoadImage_FileCache:" + data)
    this.imageKnifeOption.loadSrc = data
  })

由于ImageKnife是框架图片加载任务和缓存的管理类;预加载可以使用该工具中提供的加载方法实现;

3、ImageKnife加载图片任务管理和缓存管理解析

相关推荐
waeng_luo3 小时前
[鸿蒙2025领航者闯关] ArkUI动画实战
鸿蒙·鸿蒙2025领航者闯关·鸿蒙6实战·开发者年度总结
遇到困难睡大觉哈哈8 小时前
Harmony os —— Data Augmentation Kit 知识问答完整示例实战拆解(从 0 跑通流式 RAG)
harmonyos·鸿蒙
鸿蒙开发工程师—阿辉8 小时前
HarmonyOS5 极致动效实验室:基本动画的使用
harmonyos·arkts·鸿蒙
kirk_wang9 小时前
Flutter Printing库在OpenHarmony上的适配实战
flutter·移动开发·跨平台·arkts·鸿蒙
kirk_wang1 天前
Flutter `video_player`库在鸿蒙端的视频播放优化:一份实用的适配指南
flutter·移动开发·跨平台·arkts·鸿蒙
汉堡黄•᷄ࡇ•᷅1 天前
鸿蒙开发:案例集合List:多列表相互拖拽(删除/插入,偏移动效)(微暇)
华为·harmonyos·鸿蒙·鸿蒙系统
waeng_luo1 天前
[鸿蒙2025领航者闯关]使用RelationalStore实现增删改查(CRUD)操作
harmonyos·鸿蒙·#鸿蒙2025领航者闯关·#鸿蒙6实战
后端小张1 天前
【鸿蒙2025领航者闯关】从技术突破到生态共建,开发者的成长与远航
华为·wpf·生态·harmonyos·鸿蒙·鸿蒙系统·鸿蒙2025领航者试炼
kirk_wang1 天前
Flutter 三方库鸿蒙适配手记:让 `flutter_isolate` 在 OpenHarmony 上跑起来
flutter·移动开发·跨平台·arkts·鸿蒙
kirk_wang2 天前
Flutter path_provider 在 OpenHarmony 平台上的实现与适配实践
flutter·移动开发·跨平台·arkts·鸿蒙