【问题标题】:Which code is running UI that I currently see哪个代码正在运行我目前看到的 UI
【发布时间】:2014-09-17 11:41:30
【问题描述】:

我开始使用具有完整源代码的现有应用程序工作,目前从 eclipse 编译和运行。

我启动应用程序进行调试并在我的设备上与之交互。

有没有办法知道我当前在设备屏幕上看到的内容正在执行什么 Activity/Fragment 源代码?

【问题讨论】:

  • 可以在每个activity中插入log语句,然后观察log cat。
  • 您可以使用 Android Device Monitor 检查布局层次结构。
  • 在您当前的活动中创建 Toast 消息...

标签: android eclipse debugging


【解决方案1】:

好的,我找到了一个非常简单的解决方案。

只需在框架的Activity#onCreateFragment#onCreate 中放置一个断点即可。

每次您的自定义 Activity/Fragment 出现在屏幕上时,它都会停在那里,因为您的所有 Fragments/Activity 在启动时都调用super.onCreate()

在此断点处,调试器将向您显示this 的实际值,它会为您提供您在屏幕上看到的“MyCustomFragment”类的名称。

为此的先决条件是附加用于调试的 android 源 - 如果您还没有这样做,请找到许多关于如何使用 AS 进行操作的答案。

【讨论】:

    【解决方案2】:
    1. 您可以检查是否有日志语句可以为您指明正确的方向。
    2. 如果代码真的很混乱而且你找不到解决办法,一个非常不理想的选择是寻找一些出现在活动上的独特资源字符串,然后尝试将它们追溯到源代码.
    3. 在 Eclipse 调试视图(窗口 -> 打开透视图 -> 调试)上,有一个暂停按钮(看起来像一个暂停按钮),它显示当前调用堆栈。它也可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-06-07
      • 2023-01-24
      • 2014-10-22
      • 2015-09-02
      • 2010-11-23
      • 2021-01-12
      • 1970-01-01
      • 2020-05-18
      • 2016-04-04
      相关资源
      最近更新 更多