关于Bitmap的内存泄露问题

tqwboy 2010-11-18 02:34:21
使用Bitmap,就必须使用它的recycle()方法进行释放内存,因为虚拟机是不会自动回收Bitmap的内存,那么现在有下面这样一段代码:

// 设bitA是Bitmap类型,并加载有图片
Bitmap bitB = bitA;
bitA.recycle();


当我只是释放了bitA的内存空间而不调用bitB的recycle()方法释放空间时,是否会造成内存泄露?能否详细解释一下,谢谢。
...全文
556 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fulianwu 2011-01-25
  • 打赏
  • 举报
回复
会,因为bitA和bitB都是存在于栈中的对象引用,他们共同指向堆中的同一个区域(也就是同一个对象),当调用了bitA.recycle(),那么存在于堆中的对象被释放了,那么同样bitB所指向的对象也释放了,因为他们指向同一个对象
haoyizsw 2010-11-18
  • 打赏
  • 举报
回复
一般不用自己去释放,是不是你本身的图片就太大了,或者先确定好是不是由于这个引起溢出的

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧