ImageKnife 是基于开源库 Glide进行自研的 OpenHarmony 版本,致力于打造一款更高效、更轻便、更简单的图片加载缓存库。
ImageKnife的特点:
- 支持内存缓存
ImageKnife 使用了 LRUCache 算法,对图片数据进行内存缓存。 - 支持硬盘缓存
ImageKnife 支持对下载的图片保存到磁盘中。 - 支持图片变换
ImageKnife 支持用户对图片做各种变换操作,比如圆角图片等。 - 支持参数配置
ImageKnife 支持用户配置相关参数,比如是否开启内存缓存,磁盘缓存策略以及占位图等。
下载安装
ohpm install @ohos/imageknife
使用
版本:“@ohos/imageknife”: “^2.2.0”
初始化全局ImageKnife
ImageKnife.with(this.context);
示例
// 配置imageOption
@State imageOptions: ImageKnifeOption = {
loadSrc: "http://ali-img.kaiyanapp.com/ce449c77583efcad8458fbaf3a8cd7e4.png?imageMogr2/quality/60/format/jpg",
placeholderSrc: $r('app.media.img_load_fail_place_holder'),
errorholderSrc: $r("app.media.img_load_fail_place_holder"),
onLoadListener: {
onLoadSuccess: (data) => {
//加载成功
LogUtils.d("onLoadListener onLoadSuccess data=" + data)
},
onLoadFailed: (err) => {
//加载失败
LogUtils.d("onLoadListener onLoadSuccess err=" + err)
}
}
}
build() {
Column({space: 10}) {
ImageKnifeComponent({// 使用自定义的ImageKnifeComponent组件
imageKnifeOption: this.imageOptions
}).width(200)
.height(100)
}
.width('100%')
.height('100%')
.padding(10)
}