bm1 = BitmapFactory.decodeResource(getResources(), R.drawable.test_1);
iv1.setImageBitmap(bm1);bm1 = null;如果Bitmap bm1是类成员,给ImageView设置图片后,是不是要马上设置为null?否则假设有下一次的更改图形:
bm2 = BitmapFactory.decodeResource(getResources(), R.drawable.test_2);
iv1.setImageBitmap(bm2);
bm1 实际上不会被回收,直到类被杀死,是不是这样?

解决方案 »

  1.   

    是的,在不用这个bitmap的时候要将其回收,android内存溢出的原因80%是由bitmap导致的!
      

  2.   

    2点
    1.既然是类成员  你下次要使用  直接使用bm1就好了 没必要新建bm22.像这种bitmap  不是setImageBitmap就可以回收的   不然会报错的(因为此时正在显示着呢)
    所以,只要不是创建bitmap特别频繁,都可以在ondestroy里面回收
      

  3.   

    Bitmap回收时if(bitmap != null){bitmap.recycle(); bitmap = null;}
    你这个只需要一个Bitmap就行了,一般在activity的OnDistory里面回收bitmap,而且看你这个代码不就是给ImageView设图片吗,没必要转换成bitmap啊