Activity的四种LaunchMode

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity的四种LaunchMode相关的知识,希望对你有一定的参考价值。

    android的Activity有四种启动模式,分别为standard模式,singleTop模式,singleTask模式,singleInstance模式。

    standard模式,也就是默认的模式,没什么特别性,就符合堆栈的先入后出原则,每次跳转Activity都会创建Activity实例,并把它放入Activity栈中。

    singleTop模式,从字面表达也可以看出,栈顶单例。也就是说,当跳转Activity时,如果跳转的Activity在栈顶已经存在,那么就重用该实例,否则会穿件新的实例并放入栈顶。例如在A页面调用

Intent i = new Intent(A.this,A.class),系统并不会进行跳转,如果在A页面跳转到B页面,B页面跳转A页面,我们会发现堆栈中出现了两个A实例。

    singleTask模式,如果栈中已经存在该实例,不管是否在栈顶,都会重用该实例,弹出所有栈中在该实例之上的所有页面。

    singleInstance模式:在新栈中创建该Activity实例,并让多个应用共享该实例。如果在当前应用中,和singleTask的区别在于singleInstance不会移除原来在它栈中之上的实例。例如A->B(singleInstance)->C->B(singleInstance)->D,如果此时我们按Back键返回,则界面显示为D->B->C->A,显然B只是被移动了位置。

    具体各模式操作可以下载源码进行操作。

本文出自 “走一停二回头看三” 博客,转载请与作者联系!

以上是关于Activity的四种LaunchMode的主要内容,如果未能解决你的问题,请参考以下文章

Activity的四种启动模式

Activity的四种启动模式

activity的四种启动模式

Activity启动的四种方式

Activity的四种启动模式

Activity的四种LaunchMode