【发布时间】:2013-09-05 16:56:53
【问题描述】:
背景
使用Volley library 的NetworkImageView 是处理来自网络的图片的一种便捷方式。
但是,它有一些错误(正如我写的 here)。
问题
使用它可能会遇到的一个问题是,它无法以内存高效的方式解码来自网络的图像。
这意味着,如果您使用一个带有多个 NetworkImageView 的 gridView,并且每个都显示一个具有未知分辨率的图像(可能很小,可能很大),您最终会得到一个 OOM 。
例如,您可以将此对象的 url 设置为 this one,并亲自查看应用在显示位图后使用了多少内存,与之前使用的内存相比。
问题
如何修改 NetworkImageView 解码位图的方式?
我可以更改它的一种方法是让它解码位图,同时将其缩小到所需的尺寸(或至少将其最大值设置为屏幕尺寸),例如使用 this method of downscaling 。
【问题讨论】:
标签: android bitmap out-of-memory android-volley networkimageview