2012-02-29 12 views
13

は、私の活動に私は(私は変数の初期化をスキップ)、そのようなコードを持っている:ImageViewを正しくクリアするには?例えば

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

質問です - 正確に(またはビューを破壊することなく)iViewのリソースをクリアする方法? ImageViewはb.recycle()の後にリソース(ネイティブコードで使用)を解放しますか?

私はImageViewのアクティビティonStop(またはonDestroy)の後ではないだけ無料のITリソースをしていること、とします。

答えて

38
imgview.setImageResource(0); 

または

imgview.setImageDrawable(null); 
+7

'imgview.setImageResource(0)' nullを設定する(画像ビューからの私のイメージをクリアしていない)機能していないのみ – shem

+0

ワーキングないで使用した場合に動作しますURIまたはリソース: 公共ボイドsetImageResource(RESIDをint型){ (ムリ= NULL || mResource =残油!){ ... } – pablisco

+0

setImageResourceは、以前のバージョンの副作用を持っている場合 – Krafty

5

あなたがunbindDrawablesする必要がありません、私は色の識別子でsetImageResourceを使用すると、あなたが問題をクラッシュ与えるだろうと思いますiview.setImageDrawable(null);

0
viewToUse.setImageResource(android.R.color.transparent); 
  • を設定することによってそれを行うことができますAndroid 2.2.1では、テストしてください。あなたが使用することができます
0

頻繁にそれが動作:

imageView.setImageResource(0);