博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
👉点击跳转到网站
一、内存泄漏:
-
是指程序在申请内存后,无法释放已经申请的内存空间。
-
程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费。
-
一块内存占用着没有释放,但无法再用到它。
一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
内存泄漏的原因:
- 内存中加载的数据量过于庞大,如一次从数据库取出过多数据;
- 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;
- 代码中存在死循环或循环产生过多重复的对象实体;
- 使用的第三方软件中的BUG;
- 启动参数内存值设定的过小
内存泄漏的场景
- 使用Handler发延迟消息,退出时不移除。解决:当一个Activity在退出后,在onDestory()方法中,调用handler.removeCallbacksAndMessages(null)方法。
二、内存溢出:是指程序在申请内存时,没有足够的内存空间供其使用。
当程序申请的内存,超过虚拟机给你
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



