我刚看到一段代码:
public class MyApplication extends Application {
private List<Activity> activityList = new LinkedList<Activity>();
private static MyApplication instance;
private MyApplication() {
}
public static MyApplication getInstance() {
if (null == instance) {
instance = new MyApplication();
}
return instance;
}
public void addActivity(Activity activity) {
activityList.add(activity);
}
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
System.exit(0);
}
}
我从没想过我们可以控制当前活动旁边的其他活动。我通常在自己的活动中调用finish(),现在我看到了这段代码,我意识到我们也可以完成()其他活动。
Android堆栈是后台堆栈架构,所以如果我在中间销毁任何活动,会发生什么?例如,我在后面的堆栈中有5个活动,让我说完成()第三个,第二个和第四个是否会链接在一起?
答案 0 :(得分:1)
Android维护着一堆正在启动的活动,因此首先启动的应用程序将首先进入堆栈的底部,第二个应用程序将在此之后进行。
所以,如果你删除了第三个Activity,那么第四个Activity会出现在第二个Activity之上,因此它们会被链接,正如你从代码中正确理解的那样。