使用命令行检测Android内存泄露

时间:2024-03-19 17:04:25

首先我们用电脑连接设备,用cmd执行adb的内存检测的命令

adb shell dumpsys meminfo com.screening

后面的com.screening是包名,要改成自己的

执行后显示的信息

使用命令行检测Android内存泄露

使用命令行检测Android内存泄露

这里面需要关心的有:HeapSize(堆总大小)HeapAlloc(已用大小)HeapFree(剩余可用)

分为Native Heap和Dalvik Heap,这里我们只关心Dalvik Heap

另外还有一些应用相关信息:Views,Activitys等,可以统计到已经存在的view和activity个数

那么,怎么判断一个activity是否发生泄漏?

这里有个简单的办法,先使用以上命令,获取activity个数,然后在应用内执行一些可用关闭activity的操作,比如切换用户,退出登录,或者一些界面的返回键finish等

activity执行finish或onDestroy之后,再次执行以上命令,获取内存信息,看activity个数,如果个数没有减少,这个activity就很可能发生泄漏了