【问题标题】:Is there a way to visualize the activity stack (activities in memory) on Android?有没有办法在 Android 上可视化活动堆栈(内存中的活动)?
【发布时间】:2010-06-26 13:57:49
【问题描述】:

我目前正在调试我的应用程序,该应用程序非常复杂,最多有 5 个活动级别。为了检测内存泄漏(即由于某处保存了一些引用,即使调用了 finish() 也没有从内存中删除的活动)我想检查哪些活动在内存中仍然存在。

目前我创建 hprof 转储,但不是很方便,因为每次我需要挂载 sdcard,将 hprof 转储文件从 sdcard 复制到我的 PC 等。

(旁注:我已经尝试更轻松地自动提取我的 hprof 文件,但我使用的是无根设备,adb pull <hprof file> 不允许我/没有权限。)

因此我想知道,如果我想知道的只是 IF 和哪些活动目前在我的记忆中仍然存在,有没有一种方法可以通过 Android API 或任何其他即时方式可以以编程方式实现这一点(列出我的应用的所有活动活动)。

【问题讨论】:

    标签: android debugging memory-leaks


    【解决方案1】:

    因为每次我需要挂载 sdcard,复制 hprof 转储文件 sdcard 到我的电脑等

    您可以在手机处于调试模式时使用 Eclipse 的文件管理器视图从设备复制数据,而无需安装 SDCard。

    【讨论】:

    • 好吧,我用的不是 Eclipse,而是 IntelliJ;但我只是看到我打错了 adb 命令,应该是 adb pull,而不是 adb shell pull。从 sdcard 中提取时,应该可以,然后也可以通过命令行。但是,在分析器中拉取、转换和打开 hprof 等仍然非常耗时。任何通过 API 即时查看内存中应用程序的活动(没有 hprof)并将其记录到 logcat 的方法?
    【解决方案2】:

    我认为没有办法在 Android 本身中可视化活动堆栈。

    【讨论】:

      猜你喜欢
      • 2011-07-15
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 2023-03-13
      • 2017-10-02
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多