2017-06-03 5 views
0

イメージビューで私のリサイクルビットマップを使用することについて質問があります。リサイクル作業は良いですか? inDestroy()

私はimageviewのリサイクルイメージにこのコードを使用します。

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

私は(ビットマップ) オープン新しいアクティビティ(onDestroy()を呼び出す)

オープンの新しい活動ができないの後、私はimageviews画像を持っている

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

onDestroy方法でそれを呼び出しますアンドロイドモニタのメモリに見られる変化。

アンドロイドモニター

android monitor

リサイクル作業良い場合はどのように制御することができ、またはどのようにメモリをdecreasことができますか?

メモリそれはほとんどの部分からビットマップイメージビューです。 GCが実行時にリサイクルとしてビットマップをマークした後、アイデア

答えて

0

ため

おかげで、それだけで解放されます。 ここに詳しい情報があります:Android: Bitmap recycle() how does it work?

しかし、あなたの質問はかなり不明です。 onDestroyでビットマップをリサイクルする場合は、onDestroyではすべてのビューが解放され、ビットマップの参照も解放されるため、次の実行でGCedされるため意味がありません。

おそらく、あなたの画像を再サンプリングするのが最適です。投稿したリンクにはさらに詳しい情報があります。

+0

他の活動を開いているときにリサイクルしたいモニタメモリ上の – trip07

+0

は表示されません。 – trip07

関連する問題