注:仅仅是工具使用,数据分析还需要进一步进行设计搜集分析
一、路径
AndroidStudio1.5版本
tools-android-android devices monitor
AndroidStudio3.2版本
打开sdk-tools文件夹-monitor.bat
Dalvik Debug Monitor Service用途
1、调试代码
2、监控(堆栈,线程,网络,系统cpu,内存,交互日志)
3、操作(进程,GC,屏幕,UI控件,adb,手机文件)
4、模拟器(发送消息,模拟电话,GPS定位等)
原理:
1、ddms启动后内部会启动一个监控服务
2、监控服务定时调用adb客户端与adb服务端通信(Tcp:5037),如果服务端连接失败会启动服务端,连接成功(8600/8700),则发送消息到服务端
3、adb服务端维护与adbd的连接信息(TCP:5555-5585)
二、DDMS使用
左下角加号
-输入应用程序包名,输入需要被查找标签
threads管理线程
heap对内存使用情况
network网络统计
file explorer 文件浏览器
emulator设置模拟器某些功能,发短信,定位,打电话等
system获取系统信息
ddms基本功能介绍
Dalvik迅即调试监控服务
内存
threads:关注执行时间,线程数量
heap:堆
判断当前系统有没有系统溢出。定位具体问题困难,只是监控
Allocation tracker
线程分析,分配大小----关注类
dump:导出内存文件
用ddms到处内存文件:更新内存信息,导出内存信息到指定文件
用MAT分析内存:使用工具转换内存文件,打开内存文件,分析自动生成的报告
三、MAT基本介绍
内存分析工具-Memory Analyzer Tool
功能:分析java heap dump文件
生成内存分析报告
1、ddms中内存文件导出hprof文件
2、sdk-platform-tools-hprof-conv.exe
用法
cmd-》hprof-conv 源文件 输出文件
进行转换,因为java和安卓hprof文件不一样
3、MAT打开转换后的文件
其他需要掌握知识:
java/android内存管理机制
年轻代,年老代,持久代之间的转换和回收
强引用,软件引用,虚引用的回收机制
GC工作原理
Dalivk虚拟机工作原理