在下面的代码中,我有两个位图(我省略了创建它们的代码,因为这与我的问题无关)并且我的布局中还有一个 ImageView。我让 ImageView 将第一个位图显示为可绘制对象,然后使其显示第二个位图,再次作为可绘制对象。
我知道位图可以回收,我的问题与“新 BitmapDrawable”部分有关,因为我无法弄清楚 BitmapDrawable 到底是什么。它只是一个引用还是每次创建时都会占用内存?换句话说,在我为 bitmap2 创建另一个 BitmapDrawable 之前,我为 bitmap1 创建的 BitmapDrawable 是否需要被删除/回收?
谢谢。
Bitmap bitmap1,bitmap2;
...assume bitmap1 and bitmap2 contain valid bitmaps...
// get imageview
ImageView iv = (ImageView)findViewById(R.id.my_imageview);
// make the imageview display bitmap1
iv.setImageDrawable(new BitmapDrawable(getResources(),bitmap1));
// now make the imageview display bitmap2
iv.setImageDrawable(new BitmapDrawable(getResources(),bitmap2));