Java 破坏android中的中间活动

Java 破坏android中的中间活动,java,android,Java,Android,我刚刚看到一段代码: public class MyApplication extends Application { private List<Activity> activityList = new LinkedList<Activity>(); private static MyApplication instance; private MyApplication() { } pu

我刚刚看到一段代码:

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

        }

}
公共类MyApplication扩展应用程序{
私有列表activityList=新建LinkedList();
私有静态应用实例;
私有MyApplication(){
}
公共静态MyApplication getInstance(){
if(null==实例){
实例=新的MyApplication();
}
返回实例;
}
公共活动(活动){
activityList.add(活动);
}
公共无效出口(){
对于(活动:活动列表){
activity.finish();
}
系统出口(0);
}
}
我从没想过我们可以控制除当前活动之外的其他活动。我通常在自己的活动中调用finish(),现在我看到了这段代码,我意识到我们也可以在其他活动中调用finish()


Android堆栈是后台堆栈架构,所以如果我破坏中间的任何活动,会发生什么?例如,我在后堆栈中有5个活动,假设我完成()第三个活动,第二个和第四个活动现在会链接在一起吗?

Android维护一个正在启动的活动堆栈,因此启动的应用程序首先进入堆栈的底部,第二个在上面,然后再开始


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

Android维护一个正在启动的活动堆栈,因此首先启动的应用程序将进入堆栈的底部,第二个在它上面,从今以后


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

谢谢,我认为我不应该使用“链接”这个动词,这让我觉得连接就像一个“链接列表”。这就是为什么我担心它会失去连接,当我们删除中间节点,这是非常类似于链接列表哈哈,我可以很好地理解你的困惑的原因。好吧,不管你用什么动词,只要你把它们想象成一堆就没关系了。从中间去掉任何一个元素,然后上面的元素一步下来。就这么简单。:)谢谢,我想我不应该用“链接”这个动词,这让我觉得链接就像一个“链表”。这就是为什么我担心它会失去连接,当我们删除中间节点,这是非常类似于链接列表哈哈,我可以很好地理解你的困惑的原因。好吧,不管你用什么动词,只要你把它们想象成一堆就没关系了。从中间去掉任何一个元素,然后上面的元素一步下来。就这么简单。:)是的,它是有效的。他们会像你说的那样链接是的,这是有效的。他们会像你说的那样联系起来