内存分析与内存泄漏检测
2015-04-05 16:41
162 查看
Android
查看所有进程内存占用情况
(1)连接设备,打开USE调试模式(2)打开命令行,执行命令:adb shell procrank
字段说明:
PID:进程id
VSS(Virtual Set Size): 虚拟耗用内存(包含共享库占用的内存)
RSS(Resident Set Size):实际使用物理内存(包含共享库占用的内存)
PSS(Proportional Set Size): 实际使用的物理内存(比例分配共享库占用的内存)
USS(Unique Set Size): 进程独自占用的物理内存(不包含共享库占用的内存)
cmdline:进程名称
查看Heap信息
1.打开Eclipse的DDMS窗口,选择需要查看的应用2.点击Update Heap
3.点击Cause GC按钮,触发Java的内存回收机制,点击后会在Heap窗口显示该进程的堆信息,并定时刷新。
字段说明:
Heap Size:堆内存总大小
Allocated:已使用的堆内存大小
Free:空闲的堆内存大小
Used:已使用堆内存大小百分比
Objects:对象个数
相关文章:Android最佳性能实践(二)——分析内存的使用情况
内存泄漏检测工具(VLD)
工具下载地址下载地址1:https://vld.codeplex.com/releases
下载地址2:http://pan.baidu.com/s/1gd7vQnD
安装完成后,使用visual studio创建的项目,默认会包含vld的头文件目录。
而且bin目录下的运行库已经自动添加到Path变量中。
我们需要做的只是在源码中#include <vld.h>,一般在项目入口文件中包含。
这里,我手动制造了内存泄漏。在map.cpp的第10行和第12行。
程序支行结束后,检测到动态分配的内存没有delete或free,在输出—调试窗口中会输出其内存泄漏相关的信息。
这里提示在main.cpp第10行发生了内存泄漏,泄漏了8个字节,点击可直接定位到内存泄漏的那行代码。Block后面的数字表面第几处内存泄漏。
相关文章推荐
- Valgrind ---内存调试,内存泄漏检测以及性能分析的软件开发工具
- 关于内存泄漏和内存分析检测的简单描述
- Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的自由软件。
- valgrind: 一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具
- Valgrind ---内存调试,内存泄漏检测以及性能分析的软件开发工具
- Analyze 静态分析工具中显示 大量的CF类型指针 内存leak 问题, Core Foundation 类型指针内存泄漏
- [Android内存分析] 非UI线程使用View.post()方法一处潜在的内存泄漏
- WebSphere Application Server 中的内存泄漏检测与分析: 第 2 部分:用于泄漏检测与分析的工具和功能
- 内存泄漏的检测分析
- C++中关于Crt的内存泄漏检测的分析介绍
- 可以在工作环境一直运行的内存泄漏检测工具, 有GUI的泄露分析工具, 分析泄露更加容易
- Redis源码分析(十一)--- memtest内存检测
- JAVA内存泄漏原因和内存泄漏检测工具
- iphone-- 检测iphone内存泄漏-内存泄漏工具教程
- 检测iphone内存泄漏-内存泄漏工具教程(译)
- 内存_浅谈C++中内存泄漏的检测
- 内存检测工具VC内存泄漏检测工具_Visual Leak Detector(转)
- JAVA内存泄漏--内存泄漏原因和内存泄漏检测工具(zt)
- 可以精确定位那行内存分配没有被释放的内存泄漏检测方案
- 几个ajax js性能优化和内存泄露问题及检测分析工具