【发布时间】:2016-05-02 17:47:20
【问题描述】:
我已经开发 Android 应用程序已有六年了,并且使用一个简单的“本土”图像缓存库也有同样长的时间。我最近开始使用依赖于 Picasso 的组件,并决定是时候切换到通用库,而不是保留多年前编写的旧解决方案。
我的大部分图片都是存储在可绘制文件夹中的本地图片,尺寸适中(每边 100-200 像素)。
但是,当使用 Picasso 将图像加载到我的布局的 ImageView 中时,我发现性能明显下降。在被渲染的布局和位图变得可见之间有一个可见的“光点”(一旦图像被缓存,这个光点就会消失)。使用我的 HG 库,它基本上只是 BitmapFactory.decodeResource,在一个稀疏的 SoftReferences 数组周围有一些缓存编码(正如我所说,这是 old),相同视图的加载是无缝的,并且似乎是瞬间。
显然,我通常加载图像的方式和 Picasso 中的异步加载方式存在很大差异,但这真的是预期的行为吗?这似乎使毕加索不适合将本地可绘制对象加载到 UI 中,我觉得这很令人惊讶。我用非常简单的方式加载图像:
Picasso.with(getActivity())
.load(getPixId)
.into(imageView);
有没有办法调整它以获得更好的性能?我可能会忽略什么?
【问题讨论】: