我一直在试图教自己的Android,并刚刚了解到我已经在我的代码中创建了多个相同的Activity
实例。从概念上讲,我知道它在那里,但是有没有任何工具(例如DDMS),我可以使用看到我创建了多个实例?如何检查一个Activity的多个实例是否存在
这也将帮助我了解我的Intent
标志是否正在运行的实验。
我一直在试图教自己的Android,并刚刚了解到我已经在我的代码中创建了多个相同的Activity
实例。从概念上讲,我知道它在那里,但是有没有任何工具(例如DDMS),我可以使用看到我创建了多个实例?如何检查一个Activity的多个实例是否存在
这也将帮助我了解我的Intent
标志是否正在运行的实验。
您可以可视化使用以下命令将当前活动堆栈:
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 Debug Bridge (ADB)上Android开发人员。
Android Tools作者:Romain Guy。 (整个演讲不是关于亚行,你可以用它做什么,但是自从他介绍和演示许多调试工具以来,值得花一些时间观察)。
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;
}
谢谢,这有很大帮助。你能否指点我一些资源,在这里我可以研究这个输出以便更好地理解它? – Debojit
@Debojit:好的,看我的编辑。 –