私は、イメージを含むレイアウトをカスタマイズしたRecyclerViewを使用する2つのアクティビティを持つAndroid Appを開発しています。 が画像をロードするには、私が持っている:ビットマップを使用するとRAMの使用量が増えます
ImageView imgView = (ImageView)itemView.findViewById(R.id.imgView);
Bitmap bitmap1 = BitmapFactory.decodeResource(context.getResources(), R.drawable.led);
imgView.setImageBitmap(bitmap1);
私はGCは、いくつかの領域を解放することができるだろうビットマップとしてイメージがロードされた場合の活動のonDestroy()メソッドで、しかし、これではないと思いましたアプリがクラッシュしてOOMエラーが発生するまでRAMメモリの使用量が増えます。
何が間違っているのか理解してもらえますか?
ビットマップのリサイクルの呼び出しを追加すると、Androidは自動的にそれらを解放しません –
ここに質問があります。なぜimgView.setImageDrawable()を使用しないのですか? drawableをビットマップにデコードしてImageViewに設定する必要はありません。 –
drawableをビットマップに変換する必要がありますか?アンドロイドシェアは、同じ描画可能なビューに描画可能です。 – Prashant