Android ImageView setImageBitmap

时间:2011-10-29 12:04:20

标签: android memory bitmap imageview bitmapfactory

我正在努力更好地理解Android如何处理图像,以便更有效地使用内存。我有一个存储在Bitmap中的图片,我正在使用ImageView.setImageBitmap()来显示它。现在的问题是 - 它是否会使用Bitmap我将来通过它,或者它正在制作它的副本,而我创建的Bitmap在调用之后不再使用setImageBitmap

假设它会继续引用我已经通过的Bitmap,那么当使用Bitmap选项通过BitmapFactory创建inPurgeable时,它会如何表现? ImageView会阻止Bitmap暂时从内存中清除吗?是仅在ImageView具有View.VISIBLE州,或者View.GONEView.INVISIBLE时才会发生?或者只有在ImageView在屏幕上可见时才会显示?

还有一件事 - 通过Android源代码查看,编码的字节数据总是被复制到内存中(inInputShareable当前被忽略)。它是否计入Android Java应用程序的16 / 24MB内存限制?

由于

1 个答案:

答案 0 :(得分:0)

看一下这篇文章:http://developer.android.com/training/displaying-bitmaps/index.html

有一些有用的课程可以帮助你更好地理解android的内存管理