使用Picasso在recyclerView中加载本地图像时抖动滚动

时间:2016-04-19 11:11:07

标签: android picasso android-lazyloading

我在我的应用程序中使用picasso在recyclerView中加载图像。图像文件都是本地文件。问题是listview滚动不顺畅,它是紧张不安。我搜索过它,我看到很多人都遇到了类似的问题,但是没有明确的解决方案真的很奇怪。

Horrible performance when loading local files

Picasso is awesome, but for loading local device images as thumbnails into a gridview (for example), Picasso is slower ...

Recyclerview painfully slow to load cached images form Picasso

从上面的链接看,毕加索在从网络上获取图像时效果很好,但对于本地存储的图像,它并没有那么好。

在这种情况下,甚至建议使用Picasso吗?我应该拥有自己的LruCache实现并删除Picasso吗?我没有Picasso使用LruCache自己进行缓存。虽然在这种情况下滚动是完美的,但毕加索更加干净和紧凑,所以我认为从长远来看这可能是更好的解决方案。

1 个答案:

答案 0 :(得分:0)

这种行为可能有很多原因。一个问题可能是您的行布局可能非常深而不是宽。另一个问题可能是图像的大小,如果图像尺寸很大,很可能所有图像都不适合毕加索的缓存。

如果问题是由于图片大小造成的,您可以通过Facebook尝试Fresco。它非常适合加载大图像。它使用原生和ashmem缓存,因此与Picasso或Glide等其他类似的库相比,它可以在缓存中容纳大量图像。您可以做的另一件事是,android:largeHeap="true"AndroidManifest.xml标记内Application。{/ p>