2017-06-03 85 views
0

我有关于在imageview中使用我的回收位图的问题。回收工作好还是不好?在onDestroy()

我在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(); 
     ... 
    } 

我在imageviews图像(位图) 时开放新的活动(调用的onDestroy())

开放新活动后

不能看到的变化在Android显示器的内存。

的Android显示器

android monitor

如何控制,如果回收工作好,还是怎么能增减内存?

记忆它是来自图像浏览的大部分位图。

感谢想法

回答

0

标志着一个位图作为可回收后,它只会被释放时,GC执行。 在这里你有更多的信息:Android: Bitmap recycle() how does it work?

但你的问题是相当不清楚。如果您在onDestroy中回收位图,则没有任何意义,因为在onDestroy中,所有视图都将被释放,并且位图的引用也会被释放,因此它将在下次执行时被GCed。

对于您来说,最好的选择可能是重新采样图像。我发布的链接有更多信息。

+0

我想要在打开其他活动时全部回收。显示器内存上的 – trip07

+0

不显示空闲内存 – trip07

相关问题