0

我在我的应用程序中使用 picasso 在 recyclerView 中加载图像。图像文件都是本地文件。问题是列表视图滚动不流畅,很紧张。我搜索了一下,发现很多人都有类似的问题,但没有明确的解决方案真的很奇怪。

加载本地文件时性能糟糕

毕加索很棒,但是对于将本地设备图像作为缩略图加载到网格视图中(例如),毕加索速度较慢......

Recyclerview 从 Picasso 加载缓存的图像非常缓慢

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

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

4

1 回答 1

0

这种行为可能有很多原因。一个问题可能是您的行布局可能很深而不是很宽。另一个问题可能是图像的大小,如果图像很大,很可能所有图像都无法放入 Picasso 的缓存中。

如果问题是由于图像大小造成的,您可以试试Fresco by Facebook。它非常擅长加载大图像。它使用原生缓存和 ashmem 缓存,因此与 Picasso 或 Glide 等其他类似库相比,它可以在缓存中保存大量图像。您可以做的另一件事是,android:largeHeap="true"在您的AndroidManifest.xml内部Application标签中。

于 2016-04-19T11:59:03.457 回答