java - 破坏android中的中间 Activity

标签 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);

        }

}

我从没想过我们可以控制当前 Activity 之外的其他 Activity 。我通常在它自己的 Activity 中调用 finish(),现在我看到这段代码,我意识到我们也可以 finish() 其他 Activity 。

Android stack是back stack架构,所以如果我在中间销毁任何activity,会发生什么?例如,我在后台堆栈中有 5 个 Activity ,假设我 finish() 第三个,现在第二个和第四个会链接在一起吗?

最佳答案

Android 维护一个正在启动的 Activity 堆栈,因此首先启动的应用程序进入堆栈底部,第二个位于其上方,此后。

因此,如果您删除第三个 Activity,第四个 Activity 将位于第二个 Activity 之上,因此它们将被链接,正如您从代码中正确理解的那样。

关于java - 破坏android中的中间 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004208/

相关文章:

android - 获取android中所有应用程序的时间使用情况

android - 如何在Android中对HashMap(ArrayList内部)进行排序?

Java:如何访问另一个类的方法

java - 格式错误的 JSON 字符串能否成功解析?

java - 如何在 Gluon 项目中添加依赖项

android - Telerik RadSideDrawer 在 Android 4.4 上崩溃

Java:具有具体实现的抽象枚举

java - 将 Hadoop MapReduce 输出写入 2 个平面文件

android - Ubuntu 的 adb 问题

android - ViewPager 中相邻 fragment 的问题有助于持有它的 Activity