码迷,mamicode.com
首页 > 其他好文 > 详细

Activity的四种LaunchMode

时间:2017-02-20 23:33:58      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:android   singletop   launchmode   singletask   singleinstance   

    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

标签:android   singletop   launchmode   singletask   singleinstance   

原文地址:http://janwool.blog.51cto.com/5694960/1899489

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!