社区
Android
帖子详情
关于OOM
louyong0571
2012-06-13 10:06:52
最近调试的时候发现一个很奇怪的问题,希望各位高手指导。
在startActivty的时候如果finish掉当前的Activity就会出现OOM,但是如果我不把当前的Activity finish掉就不会有问题。
这个finish跟内存管理的机制有什么关系呢?想破脑袋想不明白,求指导!
...全文
288
13
打赏
收藏
关于OOM
最近调试的时候发现一个很奇怪的问题,希望各位高手指导。 在startActivty的时候如果finish掉当前的Activity就会出现OOM,但是如果我不把当前的Activity finish掉就不会有问题。 这个finish跟内存管理的机制有什么关系呢?想破脑袋想不明白,求指导!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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]
什么是
OOM
, 为什么会
OOM
及一些解决方法
标题1. 什么是
OOM
, 为什么会
OOM
及一些解决方法1.1.
OOM
含义:1.2. 为什么会出现 `java.lang.OutOfMemoryError`: 即
OOM
:1.3.
OOM
的 error 类型1.4.
OOM
分析1.5. 高手总结的 9 种
OOM
常见原因及解决方案1.5.1. Java heap space1.5.1.1. 原因分析1.5.1.2. 解决方案1.5.2. GC overhead limit exceeded1.5.3. Permgen space1.5.3.1
K8S
OOM
killer机制
当kubelet没来得及触发pod驱逐,使得节点内存耗尽时,将触发节点上的
OOM
killer机制;Linux上有个机制叫
OOM
killer(Out Of Memory killer),这个机制会在系统内存耗尽的情况下发挥作用,即根据一定的算法规则,选择性的杀死一些进程,以释放部分内存,让系统继续稳定运行。
oom
详解
目录
oom
_adj是什么
oom
_score_adj是什么
oom
_adj和
oom
_score_adj关系 为什么写入的
oom
_adj和获取的
oom
_adj不一致: 进程如何打分
oom
怎么判断
oom
_adj是什么
oom
_adj 是一个打分因子, 取值范围 -17到 15。 取值 -17 这个进程就永远杀不掉了
oom
_score_adj是什么
oom
_score_...
OOM
OOM
问题总结什么是
OOM
为什么会
OOM
OOM
的类型
OOM
处理方式 什么是
OOM
OOM
,全称"OutOfMemery",中文名称“内存不够用”。 很长时间以来,很多人都知道jvm内存调优是java知识中的重要组成部分,但是缺乏应用经验,不知道jvm的使用场景是什么,
OOM
就是其中一个典型应用场景。 为什么会
OOM
内存不够用,要么是因为内存太小,要么是因为内存使用不充分 1.jvm内存分配不够...
什么是
OOM
,为什么会
OOM
及一些解决方法
OOM
,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector. 意思就是说,当JVM因为没有足够的
Android
80,489
社区成员
91,375
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章