1.什么是内存泄漏?

    适用于该系统的内存使用内存泄漏,未回复(释放),该内存可以没有事业,也不能被其他人使用使用自己。

2.出有什么差别?

   内存泄漏是分配出去的内存无法回收。
   内存溢出是程序使用的内存超出了系统能给予的。

3.怎样从測试数据中得出内存泄漏?

   首先,我们须要使用性能測试工具去监控性能数据,android可使用GT.apk(下载地址:http://gt.tencent.com/)监控内存数据。

然后,对測试对象连续反复做全然同样的操作多次。然后。将測试结果(内存)制作成折线图。假设几次全然同样的操作中,内存持续增长。那么能够判定内存泄漏。

4.导致内存泄漏的原因?

   android内存泄漏的终极原因就是多线程程序重复申请释放内存,可是释放的和申请的不正确应。导致吃内存。
    详见宋宝华的博客http://blog.csdn.net/21cnbao/article/details/7706671

下面为博客原文:

   
内存泄露分为两种境地,一个是人死了,钱还没花完,你malloc的内存还没释放进程就死了,我们说,这个问题在Linux不存在,进程是个资源封装的单位。进程挂的时候,资源会被内核释放掉的,死的时候还唯独个僵尸而已。第二个境地是,人活着,钱没了。这个问题才是Linux真正操心的。一个多线程的程序。执行过程中重复申请和释放内存,可是释放的与申请的不正确应,就慢慢地吃内存,这个进程的内存消耗曲线振荡上升,直到耗尽内存。所以,在Linux世界里,我们不用操心人死了,钱还没花完的问题
。党会帮我们处理的。我们要操心的是。人活着,钱没了的问题。

   所以,能早结束的进程早点结束。多线程中该释放的内存尽早释放。

   不了解进程和线程的童鞋能够參考此文章。很简单明了 : http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

5.怎样避免内存泄漏?

   1.长期保持了context对象的引用。可參考官方博客:http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html
      引用译文:在Android应用程序中,非常多操作都用到了Context对象。可是大多数都是用来载入和訪问资源的。这就是为什么全部的显示控件都须要一个Context对象作为构造方法的參数。在Android应用程序中通常能够使用两种Context对象:Activity和Application。当类或方法须要Context对象的时候常见的作法是使用第一个作为Context參数。

但这就意味着View对象对整个activity保持引用。因此也就保持对activity内的全部东西的引用,也就是整个View结构和它全部的资源都无法被及时的回收,并且对activity的长期引用是比較隐蔽的。

   2.其它情况可參考这个博文。写的挺具体,我还没来得及看,看完之后再简单分析一下。
        Android之内存泄漏调试学习与总结http://mzh3344258.blog.51cto.com/1823534/895093


版权声明:本文博主原创文章,博客,未经同意不得转载。

android性能测试内存泄漏的更多相关文章

  1. 利用Android Studio、MAT对Android进行内存泄漏检测

    利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...

  2. Android防止内存泄漏以及MAT的使用

    Android发生内存泄漏最普遍的一种情况就是长期保持对Context,特别是Activity的引用,使得Activity无法被销毁.这也就意味着Activity中所有的成员变量也没办法销毁.本文仅介 ...

  3. android 常见内存泄漏原因及解决办法

    android常见内存泄漏主要有以下几类: 一.Handler 引起的内存泄漏. 在Android开发中,我们经常会使用Handler来控制主线程UI程序的界面变化,使用非常简单方便,但是稍不注意,很 ...

  4. [原理] Android Native内存泄漏检测原理解析

    转载请注明出处:https://www.cnblogs.com/zzcperf/articles/11615655.html 上一篇文章列举了不同版本Android OS内存泄漏的检测操作(传送门), ...

  5. Android Native 内存泄漏系统化解决方案

    导读:C++内存泄漏问题的分析.定位一直是Android平台上困扰开发人员的难题.因为地图渲染.导航等核心功能对性能要求很高,高德地图APP中存在大量的C++代码.解决这个问题对于产品质量尤为重要和关 ...

  6. Android应用内存泄漏的定位、分析与解决策略

    什么是内存泄漏 对于不同的语言平台来说,进行标记回收内存的算法是不一样的,像 Android(Java)则采用 GC-Root 的标记回收算法.下面这张图就展示了 Android 内存的回收管理策略( ...

  7. [轉]Android的内存泄漏和调试

    一. Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似.程序员通过new为对象分配内存,所有对象在java堆内分配空间:然而对象的 ...

  8. 【转】Android之内存泄漏调试学习与总结

    大家有或经常碰到OOM的问题,对吧?很多这样的问题只要一出现相信大家的想法跟小马的一样,就是自己的应用:优化.优化.再优化!而且如果出现类似于OOM这样级别的问题,根本就不好处理,LogCat日志中显 ...

  9. Android之内存泄漏

    开篇之前,我们要先理解:什么是内存泄漏.百度百科:内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等 ...

随机推荐

  1. Ubuntu14.04搭建android开发环境

    一 下载ADT 官方下载地址:http://developer.android.com/sdk/index.html(须要FQ或者改动host) 二 解压 1 使用终端将下载的文件解压当前文件夹下: ...

  2. java.lang.IllegalAccessError: class javax.activation.SecuritySupport12 cannot access its superclass

    最近加入新的项目组,eclipse + tomcat7 + spring +ibatis + restful 遇到了这样的问题, 说是不能访问父类,我一开始以为是版本的原因,但是久经更改,错误依然,实 ...

  3. 关于CodeReview(java)(转)

    关于codereview,在平时的开发中,经常忽略的环节,参照目前介绍写好代码的几本书和之前掉进的坑,做了一个总结,分享出来. 为什么要做 通过review规避一些代码层面的问题 提升可读性,方便后续 ...

  4. 【转】Vim学习资料

    初学资料:1:一个介绍VIM操作的游戏,十分适合初学者.只是:不要怕英文.vim-adventures.com2:http://blog.csdn.net/niushuai666/article/de ...

  5. 使用AndroidFrameworks开发和应用隐藏类 or Android使用自定义framework开发与应用

    Android眼下代表系统的开源手机操作系统已经更新到4.0.3版本号.由于其开源特性.使得操作系统本身所具有的最大的灵活性,但同时也引起的版本号的多样性,市场上出现的是手机厂商或ROM.可是怎样开发 ...

  6. dsbskrhkme看么哦么

    http://pan.baidu.com/share/link?shareid=3011665141&uk=338692646&third=15                http ...

  7. thinkphp框架的相关总结

    参考链接地址:http://gongwen.sinaapp.com/article-205.html 1. 模板中不能使用的标签 {$content} {$i} 2. If标签 如: <if c ...

  8. 谷歌下解决Pop遮罩层无法遮挡滚动栏下问题

    今天用pop的弹出窗体里,出现一个问题,当网页出现滚动栏里,不能遮挡住,解决Pop遮罩层无法遮挡滚动栏下问题. 可通过下载获取改动后的代码----->进入下载

  9. org.jsoup.select.Selector

    org.jsoup.select.Selector CSS-like element selector, that finds elements matching a query. Selector ...

  10. 开源企业IM-免费企业即时通讯-ENTBOOST V2014.183 Windows版本号正式宣布

    ENTBOOST,VERSION 2014.183 Windows(点击下载)版本号公布.主要添加PC端P2P(点对点)文件传输功能:公布安卓Android手机clientAPP 1.0版本号.公布苹 ...