我正在尝试分析Android
应用的内存使用情况。我是用
adb shell dumpsys meminfo <package name>
我的应用只有一个Activity
,我可能会重复以下步骤十几次:
在执行此操作后,dumpsys
显示我的Activities
的大约1-2个实例仍在内存中。在我点击adb dumpsys
几次后,Activity
计数降至零。这是正常的吗?如果是泄漏,我不希望Activity
计数降到零。这是否意味着GC
慢慢声称Activity
对象的记忆?
答案 0 :(得分:2)
这是否意味着GC会慢慢声明活动对象的内存?
按后退按钮完成Activity
并不意味着它的实例将被立即杀死并且内存GC
- 编辑。 Activity
的{{1}}方法不是“终结器”。可以满足这样的情况:当开始新的onDestroy()
实例时,“旧”实例仍然位于内存中(作为reference)。
如果是泄漏,我不认为活动数量会下降到零。
如果您看到应用程序的进程正在运行,那么“活动计数降至零”就不会泄漏。
在我点击adb dumpsys几次之后,活动数量降到零。这是正常的吗?
是的,原因如上所述。