Android内存泄露利器(全自动篇)

转载 2012年03月28日 21:39:29

原文地址::http://hubingforever.blog.163.com/blog/static/1710405792011324114317115/

 

我写了可执行文件启动器Launcher.jar及一些批处理,通过它们就可以自动的以一定的时间间隔提取Hprof和进程的内存信息

一、需要的库

可执行文件启动器:lib\Launcher.jar

:关于Launcher.jar的源码请参考可执行文件启动器(上)》和《可执行文件启动器(下)
二、自动提取Hprof。
runHprofPicker.bat文件:
java -jar lib\Launcher.jar getHprof.bat5000
5000表示5000毫秒执行一次 getHprof.bat来从手机提取Hprof文件
注意1:关于getHprof.bat文件请阅读《Android内存泄露利器(hprof篇)
三、自动提取进程的RSS
runProcessStatePicker.bat文件:
java -jar lib\Launcher.jar getProcessState.bat 5000
5000表示5000毫秒执行一次 getProcessState.bat来从手机提取进程的RSS,输出到一个以进程名命名的文本文件,以便在excel中生产图表文件
注意1:关于getProcessState.bat请阅读《Android内存泄露利器(RSS内存统计篇)
四、自动提取进程的NativeSize,DalvikSize,NativeAllocated,DalvikAllocated,NativePSS,DalvikPSS
runMemoryPicker.bat文件:
java -jar lib\Launcher.jar getMemoryState.bat 2000
2000表示2000毫秒执行一次 getMemoryState.bat来从手机提取进程的内存信息到一个以进程名命名的文本文件,以便在excel中生产图表文件
注1:关于Launcher.jar的源码请参考可执行文件启动器(上)》和《可执行文件启动器(下)

注2:关于getMemoryState.bat请阅读《Android内存泄露利器(内存统计篇)

 

Android内存泄露利器(内存统计篇)

我们可以通过adb shell "dumpsys meminfo %curProcessName%"命令得到某个进程的内存使用情况。 getMemoryState.bat主要用于解析该命令返回的内存...
  • u010449335
  • u010449335
  • 2013年08月15日 09:19
  • 579

Android内存泄露利器(内存统计篇)

我们可以通过adb shell "dumpsys meminfo %curProcessName%"命令得到某个进程的内存使用情况。 getMemoryState.bat主要用于解析该命令返回的内存...
  • kent_kent_kent
  • kent_kent_kent
  • 2014年11月19日 14:38
  • 429

Android 内存泄露总结

Java 中的内存分配简介 Java 中的内存分配 主要是分三块: 静态储存区:编译时就分配好,在程序整个运行期间都存在。它主要存放静态数据和常量。栈区:当方法执行时,会在栈区内...
  • osle123
  • osle123
  • 2016年10月08日 12:17
  • 858

Android性能优化之常见的内存泄漏

前言对于内存泄漏,我想大家在开发中肯定都遇到过,只不过内存泄漏对我们来说并不是可见的,因为它是在堆中活动,而要想检测程序中是否有内存泄漏的产生,通常我们可以借助LeakCanary、MAT等工具来检测...
  • u010687392
  • u010687392
  • 2015年11月23日 22:37
  • 20549

Android 内存泄漏总结(超级实用)

Android 内存泄漏总结内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不...
  • a394268045
  • a394268045
  • 2016年06月22日 16:45
  • 6848

Android内存泄露利器(hprof篇)

我们可以使用代码生成hprof,然后使用批处理hprof文件,然后用Memory Analyzer tool(MAT)进行对多个hprof文件比较分析。 一、批处理配置文件 批处理配置文件conf...
  • u010214752
  • u010214752
  • 2013年06月14日 17:44
  • 455

Android中常见的内存泄露分析

前言 Android应用因为本身可用内存的限制,需要特别重视内存泄露的问题,本文总结了Android中常见的一些内存泄露原因及避免方式。 一、单例造成的内存泄露 由于单例的静态特性使得单...
  • qqchenjian318
  • qqchenjian318
  • 2016年12月20日 17:32
  • 455

Android内存泄露利器(hprof篇)

我们可以使用代码生成hprof,然后使用批处理hprof文件,然后用MAT进行对多个hprof文件比较分析。 一、批处理配置文件 批处理配置文件config.bat如下: rem the f...
  • kent_kent_kent
  • kent_kent_kent
  • 2014年11月19日 14:33
  • 957

Android 性能优化之使用MAT分析内存泄露问题

我们平常在开发Android应用程序的时候,稍有不慎就有可能产生OOM,虽然JAVA有垃圾回收机,但也不能杜绝内存泄露,内存溢出等问题,随着科技的进步,移动设备的内存也越来越大了,但由于Android...
  • xiaanming
  • xiaanming
  • 2015年01月09日 08:50
  • 33189

Android 内存泄露原理和检测

Android进程的内存管理分析
  • gao878280390
  • gao878280390
  • 2017年02月16日 10:53
  • 512
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android内存泄露利器(全自动篇)
举报原因:
原因补充:

(最多只允许输入30个字)