zoukankan      html  css  js  c++  java
  • android程序内存泄漏的原因和解决办法

         内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。        

    image

          内存泄漏简单地说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。

           从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到。

    Android应用内存泄漏的的原因有以下几个:

    1查询数据库后没有关闭游标cursor 
    2 构造Adapter时,没有使用 convertView 重用
    3 Bitmap对象不在使用时调用recycle()释放内存
    4 对象被生命周期长的对象引用,如activity被静态集合引用导致activity不能释放

    内存泄漏的发现:

    通过DDMS中的heap工具,去发现是否有内存溢出。

    内存泄漏如何解决:

    通过内存分析工具 MAT(Memory Analyzer Tool),找到内存泄露的对象

  • 相关阅读:
    我们是怎么管理QQ群的
    2014年10月【下】-前端开发半月刊
    我们一般的前端开发流程
    没有素描色彩基础适合学习UI吗,如果可以,该怎么学?
    豪情-关于生活工作学习之感悟-第一篇
    网页插件学javascript还是jquery好啊?
    我们平时是怎么写html和css的?
    2014年10月【上】-前端开发半月刊
    2014年9月-前端开发月刊
    固定滚动菜单
  • 原文地址:https://www.cnblogs.com/yejiurui/p/2923418.html
Copyright © 2011-2022 走看看