回收工作好不好?在onDestroy()

时间:2017-06-03 15:38:39

标签: android memory bitmap recycle

我对在imageview中使用循环位图有疑问。

我使用此代码在imageview中回收图片。

drawable = imglist1.getDrawable();
    if (drawable instanceof BitmapDrawable) {
        BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
        Bitmap bitmap = bitmapDrawable.getBitmap();
        bitmap.recycle();
    }

我在onDestroy方法中调用它

@Override
    protected void onDestroy() {
    super.onDestroy();
         ...
    }

我在图像视图中有图像(位图) 打开新活动时(调用onDestroy())

打开新活动后无法看到更改在android监视器内存中。

android monitor

android monitor

如何控制回收是否有效,或者如何减少记忆?

记忆它是图像视图中大部分的位图。

感谢您的想法

1 个答案:

答案 0 :(得分:0)

将位图标记为可循环使用后,只有在GC执行时才会释放它。 您有更多信息:Android: Bitmap recycle() how does it work?

但你的问题还不清楚。如果你在onDestroy中回收位图,那就没有意义了,因为在onDestroy中所有视图都将被释放,并且位图的引用也是如此,所以它将在下次执行时被GCed。

对您而言,最好的选择可能是对您的图片进行重新取样。我发布的链接有更多信息。