【HarmonyOS NEXT】Image控件加载图片缓存问题

文章讨论了Image控件的缓存机制,包括全局缓存和特定场景下不缓存的需求。提到了HarmonyOS的内置LRU策略以及如何通过设置setImageCacheCount或使用第三方库ImageKnife来控制缓存行为。
摘要由CSDN通过智能技术生成

【关键字】

Image / 全局缓存 / 部分场景不缓存 / 实时获取 / setImageCacheCount / ImageKnife

【问题描述】

  1. Image控件是否有缓存机制?是否需要对图片加载进行方法封装?

  2. 是否有加载图片时不使用缓存、每次联网都获取最新资源的方法?

  3. 是否有方案能实现下述业务需求:图片在app全局使用缓存,在特定场景下实时从服务端获取,例如加载用户头像时,业务一旦将图片下线处理,图片找不到时需要恢复默认。

【解决方案】

  1. 图片有内存缓存机制,会统计到当前APP,缓存采用内置的LRU策略,新图片加载后,如果超过缓存上限,会删除最久未再次加载的缓存。

    参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V1/js-apis-system-app-0000001580345618-V1#ZH-CN_TOPIC_0000001666708520__setimagecachecount7

  2. 可不调用setImageCacheCount,或者设置为0。两种方法均不会缓存,每次都会获取最新的资源。

  3. 目前ArkUI提供的Image组件原生能力,无法满足全局缓存、部分场景下不缓存的业务场景。

    若要实现上述需求场景,需要封装图片加载,可参考第三方开源库ImageKnife进行封装:https://gitee.com/openharmony-tpc/ImageKnife

    也可以不开启全局缓存,使用ImageKnife给图片单独设置缓存,部分场景下使用Image组件来设置图片不缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值