我必须在我的布局中将图像显示到imageview中以获取recycleview的行。 RecycleView使用ViewHolder模式,因此我的代码在自定义ViewHolder中。
要加载图像,我需要使用在onPostExecute()中返回File的AsynkTask。在这个onPostExecute()中,我用Picasso设置了imageView。
我试图在不使用AsynkTask的情况下获取相同的文件。所以我直接打电话给Picaso.with()....
在这种情况下,循环查看在滚动时滞后很多,但我通知Picasso缓存所有图像。
AynkTask的第一个场景有多个问题。使用100行向下和向上滚动x次使得asynktask的队列更大。 现在,如果我打开一个抽屉的片段,Asynkask的队列继续加载,这个选定的片段使其工作变得如此缓慢。
我该如何解决?
答案 0 :(得分:0)
我建议您查看图片管理库(Facebook),Fresco与其他图片加载库相比非常棒且成熟。
< / LI>当视图中的图像离开屏幕时,它会自动回收位图,从而释放内存(滚动平滑)。
Fresco使用3层架构(BITMAP_MEMORY_CACHE
,ENCODED_MEMORY_CACHE
和DISK_CACHE
)处理图像的所有缓存。
它还可以减少OOM(Out Of Memory)问题。