内存泄漏、内存溢出
1个回答
展开全部
有一种情况下,oom可以通过try catch掉, 如果try catch语句中,声明了很大的对象导致OOM,并且确认OOM是由try语句中的对象声明导致的,那么在catch语句中,可以释放掉这些对象,解决OOM问题,继续执行剩余的语句。
上述做法不建议,毕竟catch掉异常,而不是想着解决OOM
Java中管理内存除了catch oom之外还有很多有效的方法,如SoftReference、WeakReference、硬盘缓存等。
在JVM用光内存之前,会多次触发GC,这些GC会降低程序运行的效率。
如果OOM原因不是try语句中对象(比如内存泄漏),那么在catch语句中会继续抛出OOM
在此可以了解一下内存泄漏和内存溢出的区别:
常发性、偶发性、一次性、隐式
怎样解决内存泄漏: 泄漏是因为持有了activity引用导致无法被销毁,一是及时取消引用,二是让引用多待一会,但是该GC的时候就销毁
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
东莞市友贸实业有限公司_
2023-11-22 广告
2023-11-22 广告
第五代双倍数据速率DDR5双列直插式内存模块是一种高速、高性能的内存模块,适用于需要高带宽和低延迟的应用场景。与前几代内存模块相比,DDR5双列直插式内存模块具有更高的数据传输速率和更低的功耗,同时提供了更大的内存容量和更高的可靠性。在数据...
点击进入详情页
本回答由东莞市友贸实业有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询