【发布时间】:2018-09-07 02:35:16
【问题描述】:
我需要根据不同的情况将 VectorDrawable 资源加载到 recycler-view 中的 imageviews 中。当前的实现每次都会实例化一个新的可绘制对象,我确信这会导致列表中大量项目的性能损失。我想改变它,以便有效地重用可绘制对象以减少创建对象的数量。我正在使用毕加索,我认为将这项工作委托给它可能是个好主意,但看起来毕加索无法加载 VectorDrawable 的。有没有办法解决这个问题?
UPD。 资源使用 ContextCompat.getDrawable 加载并使用 setImageDrawable 设置。 ImageView drawable 在 onViewRecycled 中被清除
【问题讨论】:
-
显示一些代码来看看你在做什么?
-
@KaveeshKanwal 没有太多代码。资源使用 ContextCompat.getDrawable 加载并使用 setImageDrawable 设置。 ImageView drawable 在 onViewRecycled 中被清除。问题是每次都会调用 ContextCompat.getDrawable 导致对象构造。
-
我想知道是否有办法在整个应用程序中缓存可绘制对象以供以后使用。
标签: android caching android-recyclerview picasso