加载大图像时,Android中的ImageView会泄漏

时间:2013-03-14 03:13:10

标签: android android-imageview out-of-memory

这是我的ImageView

<ImageView
    android:id="@+id/ads"
    android:layout_width="320dp"
    android:layout_height="48dp"
    android:adjustViewBounds="true"
    android:src="@drawable/my_img" />

如果my_img是3200px x 480px。

我的ImageView可以泄漏吗?

谢谢你

1 个答案:

答案 0 :(得分:2)

内存泄漏通常发生在某个超过Activity的对象保留对您的图片,ImageViewActivity的引用时。所以,如果你避免这种情况,你应该没事。

另一方面,在姜饼及其上,3200px×480px在解码时将占用大约6MB的内存(3200 * 480 * 4字节/像素=约5.8MB [source])。如果事情得到适当的清理,即使在非常旧的设备上也不应该让你陷入内存配额的危险。此外,当您知道不再需要Bitmap时,礼貌地调用Bitmap.recycle()可能会有所帮助(但请记住,这只是清理Bitmap的建议,但不会立即发生)。