Bitmap释放

博客源址Bitmap释放

博客时间2011-08-04 21:28

Bitmap没有及时释放的话经常会出现OOM错误。由于Bitmap占用的是底层C的内存,JVM的垃圾回收机制对他没有用。用完后必须显示的调用 recycle();告诉虚拟器该Bitmap没有用了,可以释放了,能后虚拟器才能在稍后的时候释放。

1.Bitmap变量

[java]  view plain copy
  1. Bitmap bit = BitmapFactory.decodeFile(path);  
  2. if(bit != null && !bit.isRecycled()) {  
  3.     bit.recycle();  
  4. }  

2.Drawable

先把Drawable转成 BitmapDrawable 在释放 

[java]  view plain copy
  1. BitmapDrawable bd = (BitmapDrawable)d;  
  2. if(!bd.getBitmap().isRecycled()) {   
  3.     bd.getBitmap().recycle();  
  4. }  

3.public void drawBitmap(int[] colors, int offset, int stride, float x,
                           float y, int width, int height, boolean hasAlpha,
                           Paint paint);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值