内存泄漏、内存溢出
展开全部
有一种情况下,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的时候就销毁
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询