破坏android中的中间活动

时间:2012-10-22 02:12:58

标签: java android

我刚看到一段代码:

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个活动,让我说完成()第三个,第二个和第四个是否会链接在一起?

1 个答案:

答案 0 :(得分:1)

Android维护着一堆正在启动的活动,因此首先启动的应用程序将首先进入堆栈的底部,第二个应用程序将在此之后进行。

所以,如果你删除了第三个Activity,那么第四个Activity会出现在第二个Activity之上,因此它们会被链接,正如你从代码中正确理解的那样。