Activity四种启动模式2-创新互联

一:Standard的启动模式

成都创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为东港企业提供专业的成都网站设计、成都网站制作,东港网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

 Standard是默认的模式每开始一个activity,就会在栈中加一个activity,相同的也会加,

所以加多少个,就要按多少次返回键才能回到最初的界面

二:singleTop的启动模式

1.清单配置:

    

      android:name="com.itcode.taskstack.SecondActivity"

      android:label="@string/_second"

      android:launchMode="singleTop">

  Singletop:如果任务栈的栈顶已经存在这个activity的实例,

 不会创建新的activity,而是利用旧的activity实例

 调用 旧的activity的onNewIntent()方法

2.作用:

避免一个糟糕的用户体验,如果这个界面已经被打开且在任务栈的栈顶,就不会重复开启了

三:Singletask的启动模式:

1.Androidfest配置:

    

      android:name="com.itcode.taskstack.SecondActivity"

      android:label="@string/_second"

      android:launchMode="singleTask">

   

2.作用:

singletask的启动模式:在任务栈里面只允许一个实例存在,假如02是singletask,

栈里是:01 02 01 03 若此时开启02,则会复用这个已经存在的activity,并且把当前activity上面其他的activity从任务栈里清空!

3.应用场景:

浏览器:底层使用的是webkit c 内核,初始化一次需要申请很多的内存资源,占用cpu时间

所以使用singletask,保证在任务栈里只会有一个实例存在

四:singleInstance的启动模式(相当于实例):

 1.Androidfest的配置:

 

      android:name="com.itcode.taskstack.SecondActivity"

      android:label="@string/_second"

      android:launchMode="singleInstance">

    

2.特点:

singleInstance的启动模式更加极端,

开启新的activity,会给自己创建一个单独的任务栈

 3.应用场景:

在整个手机操作系统里面只会有一个该activity的实例存在,

所以多个应用程序共享这个activity的实例,有线程安全问题!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:Activity四种启动模式2-创新互联
文章出自:http://myzitong.com/article/dcdpdg.html