0

这是关于 Android 管理位图的方式的一般性问题。我想知道从内存的角度来看,为 ImageViews 提供正确大小的位图是否比 Android 必须缩放的大小不正确的位图更好。作为一个工作示例,如果我们假设 ImageView 1000 x 1000 并且我设置了一个 1024 x 1024 (FitCentre) 的位图,Android 将不得不缩放图像。那么它是否必须同时保留原始图像和缩放版本,或多或少地使内存使用量增加一倍?如果在替代方案中我向 1000 x 1000 ImageView 呈现 1000 x 1000 位图,是否只保留一张图像?只是一个问题,所以我知道处理位图的最有效方法,尤其是大图像。

4

1 回答 1

0

Android 将缩放您的图像,但这将在您的图像加载到内存后发生,并且不会阻止臭名昭著的OutofMemoryError异常的发生。

解决方案是在将图像加载到内存之前对其进行缩放,然后使用它。

Android 文档详细解释了如何缓解此问题,以及如何有效地显示位图:http: //developer.android.com/training/displaying-bitmaps/index.html

于 2012-12-30T23:34:39.983 回答