2017-06-03 150 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