Activity的四种LaunchMode

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

成都创新互联是专业的涟源网站建设公司,涟源接单;提供网站制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行涟源网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

    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只是被移动了位置。

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

附件:http://down.51cto.com/data/2366445

当前标题:Activity的四种LaunchMode
路径分享:http://ybzwz.com/article/pcoeed.html