性能问答>Android Studio Profiler 显示empty activity使用了100 MB?为什么?>
1回复
2月前

Android Studio Profiler 显示empty activity使用了100 MB?为什么?



在使用 Android Studio Profiler 来检查和优化内存消耗时。为了做一些测试,禁用了应用程序中的每个部分,除了主要活动。所以当应用程序启动时,只有一个空白的活动,它不做任何事情,也不持有任何视图。然后当我运行分析器时,它显示100 MB我的应用程序正在使用内存,其中一半用于本机代码。

此外,当我转存堆时,它却只显示6.3 MB保留大小!为什么?当我的活动为空且不执行任何任务时,为什么会这么大量的内存使用(100 MB)?

160 阅读
请先登录,再评论

截图显示的 6.3 MB里,可能还有其他堆(单击“查看应用堆”菜单)。这些堆组合在一起是 JVM 正在使用的,它应该与分析器时间线中的“Java”类别一致。

要了解本机内存的用途,在应用启动期间尝试 Android Studio 的本机内存分析器可能会有所帮助。(详细可查看:https://developer.android.com/studio/profile/memory-profiler#native-memory-profiler)

当分析器与可调试进程一起使用时,它将在幕后做一些事情,例如附加 JVMTI 代理。这些操作将占用本机内存。要消除这些噪音,可尝试考虑使用可配置文件构建。这是构建可分析应用程序的说明,您需要 Android Studio Bumblebee 在分析器中查看可分析进程。

2月前