【问题标题】:Is it possible to view the contents of Android's back stack?是否可以查看Android的back stack的内容?
【发布时间】:2013-01-15 15:11:38
【问题描述】:

我正在寻找一种工具(可能是 Eclipse 插件),它可以让我对 Android 的后台堆栈有所了解。我试图找到解决我继承的应用程序的方法。我经常导航到一个屏幕,然后尝试确定正在运行的活动。我有源代码,所以我总是可以回答这个问题,但它并不总是快速简单的。

如果在 DDMS 中我可以看到哪些活动处于活动状态,那就太好了。如果我可以查看后台堆栈的全部内容,或者至少可以查看我的流程中的那些活动,那就更好了。这会让我对 Android 正在做的事情有一些了解。

我意识到在实际设备上存在权限问题会/应该阻止这种情况,但如果这只是在模拟器上工作,我会很好。

有没有人知道可以帮助解决此问题的工具或方法?

【问题讨论】:

  • 阅读developers SDK on the lifecycle of the activities,然后,使用源卢克,阅读它,呼吸它,研究它,通过洒上 Log.d(TAG, "HERE") 在活动函数的生命周期中,您将通过这种方式了解自己的位置!
  • 感谢您的评论。我对活动生命周期非常熟悉,并且已经将 Log 语句放入其中,这确实有所帮助。然而,我希望有一种更通用、侵入性更小的方法,它可能让我在我的应用程序之外获得可见性。
  • 不错。感谢您的信息。

标签: android


【解决方案1】:

有一个类似this的问题,并变得很受欢迎。

从该问题中学习,您可以在 adb shell 中使用此命令:dumpsys activity。这将转储活动管理器的当前状态。通过深入研究,您可以获得后台堆栈中的任务和活动列表。根据techterms,不建议任何程序员将碎片放在堆栈中间(这破坏了堆栈的目的)。所以没有任何直接的方法可以让您获得 backstack 的完整视图。

主要是dumpsys activity 转储自活动管理器启动以来发生的事情。所以这一切都从一个空的后栈开始,然后再填满。这样你就可以看到什么被压入,什么被从堆栈中弹出来获得当前堆栈的状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多