关于OOM

louyong0571 2012-06-13 10:06:52
最近调试的时候发现一个很奇怪的问题,希望各位高手指导。

在startActivty的时候如果finish掉当前的Activity就会出现OOM,但是如果我不把当前的Activity finish掉就不会有问题。
这个finish跟内存管理的机制有什么关系呢?想破脑袋想不明白,求指导!
...全文
191 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
louyong0571 2012-06-26
  • 打赏
  • 举报
回复
没人顶了吗?
lych_0317 2012-06-26
  • 打赏
  • 举报
回复
楼上一直说让你粘代码,粘log你都没个反应,谁还顶啊???
louyong0571 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

方便发activity的代码么

你看看是不是finish方法执行死循环了 还是做了反而占用更多内存的事了 finish方法倒是可以发来一看
[/Quote]
我试过将finish放空,同样的现象,应该可以说明finish没有内存泄漏吧。
louyong0571 2012-06-13
  • 打赏
  • 举报
回复
确实是在新的Activity里面加载contentview的时候bitmap时候出现的oom。
现在我比较好奇为什么调不调用finish会有这个变化,按理说应该是finish了回去清理当前的mem资源吧,
不调用的话应该是不会gc的。但是现在的现象来看,貌似刚好相反,所以比较不解。
小裴同学 2012-06-13
  • 打赏
  • 举报
回复
bitmap 有木有回收
CNnumen 2012-06-13
  • 打赏
  • 举报
回复
是不是有什么静态变量引用了activity的context, 导致这个activity无法被回收
AMinfo 2012-06-13
  • 打赏
  • 举报
回复
发详细Log
louyong0571 2012-06-13
  • 打赏
  • 举报
回复
根据1楼的建议,尝试了下把onDestroy放空,但是还是会oom,奇怪。
louyong0571 2012-06-13
  • 打赏
  • 举报
回复
destroy后有内存泄漏 ? 怎么理解,大概什么样的情况会有可能?
life02 2012-06-13
  • 打赏
  • 举报
回复
finish掉当前的Activity就会出现OOM,应该是你的activity,destroy后有内存泄漏了,建议检查你的activity
Jobernowl 2012-06-13
  • 打赏
  • 举报
回复
方便发activity的代码么

你看看是不是finish方法执行死循环了 还是做了反而占用更多内存的事了 finish方法倒是可以发来一看
louyong0571 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

activity还有其他对象引用, 所以不会被销毁引用 7 楼 的回复:

确实是在新的Activity里面加载contentview的时候bitmap时候出现的oom。
现在我比较好奇为什么调不调用finish会有这个变化,按理说应该是finish了回去清理当前的mem资源吧,
不调用的话应该是不会gc的。但是现在的现象来看,貌似刚好相反,所以比较不解。
[/Quote]
既然不会被销毁,那是否调用finish应该都一样才对吧
CNnumen 2012-06-13
  • 打赏
  • 举报
回复
activity还有其他对象引用, 所以不会被销毁[Quote=引用 7 楼 的回复:]

确实是在新的Activity里面加载contentview的时候bitmap时候出现的oom。
现在我比较好奇为什么调不调用finish会有这个变化,按理说应该是finish了回去清理当前的mem资源吧,
不调用的话应该是不会gc的。但是现在的现象来看,貌似刚好相反,所以比较不解。
[/Quote]

80,471

社区成员

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

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