ary*_*axt 13 android garbage-collection bitmap
我已经看过很多样本,开发人员调用recycle()位图,然后将其设置为null.为什么这是必要的,垃圾收集器是否负责释放位图?
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
bitmap.recycle();
bitmap = null;
Run Code Online (Sandbox Code Playgroud)
mfe*_*old 17
加入俱乐部.它有点但不完全.
问题在于,在前Honeycomb版本的Android中,位图的内存是从非托管内存分配的,这会产生各种各样的问题.它仍然是从位图对象实现的终结器发布的.这意味着至少需要2次GC通过才能收集它.如果由于某种原因终结器无法执行 - 你得到了图片.另一件事是 - 它真的很难追踪 - DDMS没有看到它,也没有MAT
对于Android 3.0,这已经改变,位图是通过托管字节数组实现的,但对于旧款手机......