美文网首页
内存泄漏与内存溢出的区别

内存泄漏与内存溢出的区别

作者: 墨源为水 | 来源:发表于2016-06-28 18:14 被阅读1413次

一.概念

  • 内存溢出 OOM:指你的应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃,这是一种结果描述。
  • 内存泄漏(Memory Leak):指你的应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源,这是一种状态描述。你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。
    通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。
    解决以上的其中的方法有:Java中的引用概念的理解与实践

二.android检测所有的内存泄漏的库-LeakCanary

学习这个库可以参考这篇文章LeakCanary:检测所有的内存泄漏

三.来列举android那些易OOM的操作

1.Bitmap:这是大家最先想到的一点,Bitmap造成OOM的讨论与解决方案
2.handler:Android中Handler引起的内存泄露
3.这几天发现了以下几片博文,写的很不错,推荐给大家,希望能够帮助到大家解决问题[译]Android内存泄漏的八种可能
Android应用内存泄露分析、改善经验总结

相关文章

  • 2022-03-29

    一::内存溢出(out of memory)和内存泄漏(memory leak)的区别内存溢出:应用所需要的内存超...

  • 内存泄漏

    内存泄漏和内存溢出的区别 内存泄漏:对象被创建之后,没有引用到,当时没有被回收,一直占用着内存 内存溢出:程序使用...

  • Android内存泄漏原因及解决的总结

    分三步说明Android内存泄漏的原因及解决,“内存泄漏与内存溢出的区别”,“引用方式”,“常见引发原因与解决方案...

  • 优化

    1.内存溢出和内存泄漏有什么区别?何时会产生内存泄漏?内存优化有哪些方法? 内存溢出通俗理解就是软件(应用)运行需...

  • 内存溢出和内存泄漏

    1.内存泄漏 2.内存溢出 -如何避免内存泄漏、内存溢出?

  • 内存泄漏

    1、内存溢出和内存泄漏的区别,常见内存泄漏 内存溢出:一个程序被分配的内存空间是一定的,当申请的内存容量不足时就会...

  • JVM体系结构

    内存溢出和内存泄漏的区别 内存溢出:out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,...

  • Android 内存溢出和内存泄漏以及Leak Canary的使

    一、内存泄漏和内存溢出的区别 内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使...

  • JVM内存溢出详解(栈溢出,堆溢出,持久代溢出以及无法创建本地线

    欢迎访问我的博客查看原文:http://wangnan.tech 写在前面 内存溢出和内存泄漏的区别: 内存溢出 ...

  • JVM 常见内容汇总

    面试题 对象 对象的创建 分配内存 对象头 内存溢出 内存溢出与内存泄漏 内存溢出:系统无法再分配内存空间。 内存...

网友评论

      本文标题:内存泄漏与内存溢出的区别

      本文链接:https://www.haomeiwen.com/subject/ysutjttx.html