当前位置:首页>安卓APP>day03:安卓层怎么查看内存?

day03:安卓层怎么查看内存?

  • 2026-11-09 15:39:30
day03:安卓层怎么查看内存?
车载性能测试学习路漫漫|03 安卓层怎么查看内存?
一、常用命令:adb shell dumpsys meminfo
(adb shell dumpsys meminfo > pc自己pc盘符路径\mem1.txt   可以将结果输出到自己pc)
adb shell dumpsys meminfo是adb查看内存详情的核心命令,测试中常用于监控性能、排查内存泄露
1)拿到输出日志,关注Total PSS这一项
Total PSS:
含义:实际使用的物理内存,最核心指标
解读:一般开发对每个进程有设计的标准,如不能超过xxM
(每个进程具体的数值,需要和对应的开发确认),这是测试的重点,超过一般可以认为是内存泄漏。
2)adb shell dumpsys meminfo后面还可以加包名,用于查看具体应用的内存使用情况。
二、如何排查某进程的内存泄露
Total PSS只可以看出来比较明显的内存泄漏,
而通过抓取内存快照的方法,再导入到AS上分析,可以很明确的判断出该应用是否存在泄露:

车载App内存泄漏定位完整流程

适合排查车载应用(如车机UI、导航、娱乐等)的内存问题,步骤清晰:

1)准备阶段:确认包名

adb shell pm list packages | grep <关键词>

2)复现操作:在车机上完成你怀疑导致泄漏的操作(如打开页面、滑动、关闭)。目前我是跑monkey或MTBF后,抓取hprof。

3)抓取HPROF快照

adb shell am dumpheap <包名或pid> /data/local/tmp/test_leak.hprof

(必须存到/data/local/tmp/,才有读写权限哦)

4)拉取到电脑分析

adb pull /data/local/tmp/leak.hprof  pc路径

5)使用Android Studio打开分析

备注:由于经常需要抓取内存快照,判断是否存在内存泄漏,手动输入太麻烦,可以一键脚本,自动抓取Hprof+自动拉取,省心省力!(以windows为例,保存为.bat文件)(文档限制,暂无法上传)

三、报此问题抓什么日志?

hprof+对应时间点的U盘日志(Android_log top_memory信息等)。

最新文章

随机文章