当前位置: 首页 > news >正文

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加载图片任务管理和缓存管理解析

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 登录 k8s-Dashboard 显示 Your connection is not private
  • 多线程并行
  • 水库大坝安全预警系统的创新与应用
  • 职场那些事:应对施暴者的智慧
  • 代码随想录训练营 Day36打卡 动态规划 part04 1049. 最后一块石头的重量II 494. 目标和 474. 一和零
  • 流动会场:声音与空间完美融合,重新定义城市多功能场所—轻空间
  • 虚拟化平台kvm架构 部署kvm虚拟化平台
  • OpenCV几何图像变换(3)计算透视变换矩阵函数getPerspectiveTransform()的使用
  • Nginx源码安装与进阶负载均衡
  • SSH 隧道方式连接 MySQL 服务器
  • 元数据管理gravitino学习
  • C++笔记---类和对象(下)
  • css高级
  • Unity求向量和平面的交点
  • leetcode 括号类型题解
  • 〔开发系列〕一次关于小程序开发的深度总结
  • ESLint简单操作
  • JavaWeb(学习笔记二)
  • Java面向对象及其三大特征
  • Meteor的表单提交:Form
  • PermissionScope Swift4 兼容问题
  • Python爬虫--- 1.3 BS4库的解析器
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue.js源码(2):初探List Rendering
  • 构造函数(constructor)与原型链(prototype)关系
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #NOIP 2014# day.1 T2 联合权值
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $GOPATH/go.mod exists but should not goland
  • (55)MOS管专题--->(10)MOS管的封装
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (libusb) usb口自动刷新
  • (python)数据结构---字典
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (十八)SpringBoot之发送QQ邮件
  • (四)进入MySQL 【事务】
  • (算法)大数的进制转换
  • (万字长文)Spring的核心知识尽揽其中
  • (一)UDP基本编程步骤
  • (转)原始图像数据和PDF中的图像数据
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .dwp和.webpart的区别
  • .Net 6.0 处理跨域的方式
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET BackgroundWorker
  • .NET 快速重构概要1
  • .NetCore部署微服务(二)
  • .ui文件相关
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor