这是关于Android管理Bitmaps的方式的一般问题。我想知道从内存的角度来看,为ImageViews提供正确大小的位图是否更好,而不是错误地调整Android必须扩展的位图。对于一个工作示例,如果我们假设一个ImageView 1000 x 1000并且我设置了一个1024 x 1024(FitCentre)的位图,Android将不得不缩放图像。那么它是否必须保持原始图像和缩放版本,或多或少加倍内存使用?如果在备用场景中我向1000 x 1000 ImageView提供1000 x 1000位图,是否只保留一个图像?只是一个问题所以我知道处理位图的最有效方法,特别是大图像。
答案 0 :(得分:0)
Android会缩放您的图片,但这会在您的图片加载到内存后发生,并且不会阻止发生臭名昭着的 OutofMemoryError 异常。
解决方案是在将图像加载到内存之前缩放图像,然后使用它。
Android文档详细说明了如何解决此问题,以及如何有效地显示位图:http://developer.android.com/training/displaying-bitmaps/index.html