如何检查是否存在多个Activity实例

时间:2012-05-16 12:20:53

标签: android android-activity

我一直在尝试自学Android,刚刚得知我在代码中创建了同一个Activity的多个实例。从概念上讲,我知道它就在那里,但有没有任何工具(例如DDMS)可以用来我创建了多个实例?

这也有助于我了解我的Intent标志的实验是否有效。

2 个答案:

答案 0 :(得分:3)

您可以使用以下命令显示当前活动堆栈:

adb shell dumpsys activity

它会告诉你这样的事情:

 Running activities (most recent first):
    TaskRecord{40538e50 #164 A com.xxx}
      Run #3: HistoryRecord{xxxx com.xxx/.activities/xxx}
      Run #2: HistoryRecord{xxx com.xxx/.activities/xxx}
      Run #1: HistoryRecord{xxx com.xxx/.activities/xxx}
    TaskRecord{40a89008 #48 I com.android.htcdialer/.Dialer}
      Run #0: HistoryRecord{409d91d0 com.android.htcdialer/.Dialer}

一些资源:

    Android开发者身上的
  • Android Debug Bridge (ADB)

  • Romain Guy的
  • Android Tools。 (整个演讲不是关于亚行以及你可以用它做什么,但是自从他介绍并演示了许多调试工具后,值得花一些时间观看。)

答案 1 :(得分:0)

if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {  
            // Activity was brought to front and not created,  
            // Thus finishing this will get us to the last viewed activity  
            finish();  
            return;  
        }