首先我们用电脑连接设备,用cmd执行adb的内存检测的命令
adb shell dumpsys meminfo com.screening
后面的com.screening是包名,要改成自己的
执行后显示的信息
这里面需要关心的有:HeapSize(堆总大小)HeapAlloc(已用大小)HeapFree(剩余可用)
分为Native Heap和Dalvik Heap,这里我们只关心Dalvik Heap
另外还有一些应用相关信息:Views,Activitys等,可以统计到已经存在的view和activity个数
那么,怎么判断一个activity是否发生泄漏?
这里有个简单的办法,先使用以上命令,获取activity个数,然后在应用内执行一些可用关闭activity的操作,比如切换用户,退出登录,或者一些界面的返回键finish等
activity执行finish或onDestroy之后,再次执行以上命令,获取内存信息,看activity个数,如果个数没有减少,这个activity就很可能发生泄漏了