在下面的代码中,我有两个位图(我省略了创建它们的代码,因为这与我的问题无关),还有一个ImageView在我的布局中。 我使ImageView显示第一个位图作为drawable,然后再次将其显示为第二个位图。
我知道位图可以被回收利用,我的问题与“new BitmapDrawable”部分相关,因为我无法确定BitmapDrawable到底是什么。 它只是一个引用吗?还是每次创建一个都会使用内存?换句话说,我为bitmap1创建的BitmapDrawable需要在创建另一个为bitmap2创建的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));