2012-02-29 62 views
13

例如,在我的活動我有這樣的代碼(我跳過變量的初始化):如何正確清除ImageView?

ImageView iview; //some ImageView 
Bitmap b; //some Bitmap 
iview.setImageBitmap(b); 

問題是 - 如何正確地清除的iView資源(有或沒有破壞視圖)? ImageView會在b.recycle()之後釋放資源(用於本地代碼)嗎?

我想,那ImageView 不是只是活動onStop(或onDestroy)後釋放它的資源。

回答

38
imgview.setImageResource(0); 

imgview.setImageDrawable(null); 
+7

'imgview.setImageResource(0)'不工作(不清除從圖像視圖我的形象)設置空做工作 – shem 2013-10-21 17:17:36

+0

只有與使用工作uri或資源: public void setImageResource(int resId){if(mUri!= null || mResource!= resId){ ... } – pablisco 2014-04-23 13:51:31

+0

setImageResource在早期版本中有副作用 – Krafty 2014-06-25 10:15:02

5

沒有你需要unbindDrawables,你可以通過設置iview.setImageDrawable(null);

0
viewToUse.setImageResource(android.R.color.transparent); 
  • 我認爲使用setImageResource用顏色標識會給你崩潰的問題在Android 2.2.1上,請確保測試它。
0

你可以經常使用它的工作原理:

imageView.setImageResource(0);