【HarmonyOS】聊一聊ArkUI中的Image组件缓存

【关键字】

image组件,缓存

 

【问题描述】

给Image组件设置网络图片展示,业务将图片进行了下线处理,再次进入这个页面Image组件还是展示着这张图,而不是恢复了默认占位图。

 

【问题分析】

这个问题显然是跟Image组件的缓存机制有关。

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

 

【解决方案】

那么有没有方法可以让image组件不缓存,每次重新获取图片呢?

我们可以直接设置app.setImageCacheCount(0)将缓存的数量设置为0,这样image组件就不会缓存图片了。

当然也会有复杂的场景,比如需要应用整体需要缓存,但是特定的Image组件不能缓存图片。这种场景我们可以借力于三方开源库进行缓存的管理:

https://gitee.com/openharmony-tpc/tpc_resource#https://gitee.com/openharmony-tpc/ImageKnife

posted @ 2024-03-04 15:58  Mayism123  阅读(73)  评论(0编辑  收藏  举报