android 怎样释放ImageView中的图片

 我来答
android小将
2012-03-16 · TA获得超过368个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:130万
展开全部
那你就bitmap.recycle();不就完了 要在不用的时候
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闫海波_hope
2012-03-21 · 超过14用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:35.2万
展开全部
直接调用recycle方法~
追问
那怎么样得到 ImageView里的Bitmap呢?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
婉婉来了
2012-03-08 · 超过16用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:30.9万
展开全部
image.setImageDrawable(null);
更多追问追答
追问
这样相当于将ImageView中的 Bitmap对象给recycle()了吗?
追答
不是哦,如果你想recycle 就把那个对象=null 就得被~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQMSD8
推荐于2016-07-24 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
在 Java中,JavaVM拥有自动管理内存的功能,Java的GC能够进行垃圾回收,但是如果ImageView使用过多的Bitmap的话,经常会报OOM(内存溢出)。

造成内存溢出及解决方案:
1.注册没取消造成的内存泄露
  这种Android的内存泄露比纯java的内存泄露还要严重,因为其他一些Android程序可能引用我们的Anroid程序的对象(比如注册机制)。即使我们的Android程序已经结束了,但是别的引用程序仍然还有对我们的Android程序的某个对象的引用,泄露的内存依然不能被垃圾回收。

2. 集合中对象没清理造成的内存泄露
  我们通常把一些对象的引用加入到了集合中,当我们不需要该对象时,并没有把它的引用从集合中清理掉,这样这个集合就会越来越大。如果这个集合是static的话,那情况就更严重了。

3.Bitmap没调用recycle()
 Bitmap对象在不使用时,我们应该先调用recycle()释放内存,然后才它设置为null.虽然recycle()从源码上看,调用它应该能立即释放Bitmap的主要内存,但是测试结果显示它并没能立即释放内存。但是我它应该还是能大大的加速Bitmap的主要内存的释放。

4.构造Adapter时,没有使用缓存的 convertView
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式