Android:查看后台堆栈

标签 android memory-leaks android-studio-3.0

在以前版本的 Android 中,可以通过选择“图形状态”(如图所示)使用 android profiler 查看后台堆栈。但是,Android Studio 3.0.1 中似乎不存在这一点。现在有人知道如何访问这些信息吗?我怀疑我有时会导致重复的 Activity 启动,这对于确认它非常有用。

enter image description here

编辑: 好的,所以我启用了高级分析器。它显示了配置文件运行时开始和停止的不同 Activity 。我设法看到确实存在重复的 Activity (参见下图,红色箭头显示两个具有相同名称的 Activity ,但短的 Activity 永远不会被销毁。其原因是用户按下一个按钮来启动该 Activity ) Activity - 因此双击会创建两个)。这真的很难理解(我不得不疯狂地放大),但我想它是有道理的。

enter image description here

最佳答案

如果您想检查 android studio 3.1.2 中的内存问题,那么他们对探查器的工作方式做了一些改变。现在您必须执行以下步骤:

  • 打开分析器并启动您的应用程序。

  • 现在单击内存线,它通常是蓝色的,至少我的是。

  • 现在您的应用程序正在运行。开始记录按钮位于所有图表上方。按钮颜色为红色。
  • 在探查器记录内存大小/堆时继续执行工作。
  • 当您想结束时,只需点击停止录制按钮,它就会向您显示结果。

我也附上了下面的图片,让您了解它是如何完成的。您可以选择Arrange by callStack来查看更多选项。

enter image description here

您可以在此处的 Android 文档中找到更多信息 Documentation

关于Android:查看后台堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716244/

相关文章:

android - 如何在 Android 上使用 Google URL Shortener API?

memory-leaks - Valgrind 和 CUDA : Are reported leaks real?

android - 使用Android Studio 3.0中的发布任务,Gradle复制APK文件

android - 如何检查我之前的 Activity 是否存在?

android - 使用 Google Cloud Endpoints 时如何避免中间人攻击?

c# - 带有自定义控件的 WPF 内存泄漏

C++:释放和 "finally"等价物

Android Gradle 插件 3.0.0-alpha4 - 不从本地 AAR 中选择 .so 库

android - 找不到 com.android.tools.lint :lint-gradle Android Studio 3

android - 如何在 Spinner 上添加 float 标签