1)内存溢出:是指程序在申请内存时,没有足够的内存空间供其使用 。
a.内存中加载的数据量过于庞大 。
b.集合类中有对象的引用,使用完后未清空,使得JVM不能回收 。
c.代码中存在死循环或循环产生过多重复对象实体 。
d.启动参数内存值设定过小 。
2)内存泄漏:是指程序在申请内存后,无法释放已申请的内存空间 。
a. 内存泄漏也许是因为活动已经被使用完毕,但是仍然在其他地方被引用,导致无法对其进行回收 。
b. 资源性对象在不使用的时候 , 应该调用它的close()函数将其关闭掉 。
c. 集合容器中的内存泄露,需要将集合里的东西clear , 置为null,再退出程序 。
d. WebView造成的泄露,当我们不使用WebView对象时,应该调用它的destory()函数来销毁它,并释放其占用的内存 。
【内存溢出和内存泄漏的区别、产生原因以及解决方案】以上就是朝夕生活(www.30zx.com)关于“内存溢出和内存泄漏的区别、产生原因以及解决方案”的详细内容 , 希望对大家有所帮助!
猜你喜欢
- Visual Basic无法正常使用,提示“内存溢出”咋办?
- 什么叫内存溢出?内存泄漏的定义又是什么?使用中如何避免?
- 红米Note9突然黑屏不开机的原因以及解决办法
- 红米开机黑屏怎么办
- 红米手机不开机的几种原因以及解决方法
- 我的红米现在打开手机就黑屏,程序也运行不了,手点一下就黑屏,有时候
- 手机黑屏的4种类型,对应4种解决方法
- 蓝色协议服务器崩溃/无法连接服务器/服务器报错/解决步骤
- 腾讯与360大战始末