关于Android 中activity的启动模式的思考

来源:互联网 发布:js上拉加载商品详情 编辑:程序博客网 时间:2024/06/07 09:25

启动模式共四种:

1 standard

不管Back Srack中的栈顶是什么,都会直接创建新的对象并放在栈顶。(Android是用Task管理activity的,一个 Task就是一组存放在栈里的activity集合,又叫 BackStack)。

2 singleTop

主要用于解决standard模式中,同一个活动被重复创建的问题。singleTop模式下,如果栈顶是将用的活动,则只用不建,否则新建活动。

3singleTask

主要解决返回栈中活动过多,比如前两个模式可能造成Back Stack的activity过多。如果B活动在栈顶,A活动在B下面,当启用B时,直接暴力移除A,自己成为栈顶。

4singleInstance

概括说就是:共用一个返回栈,(创建新栈)。

解决这个问题:如果我们想实现其他应用和我们的app共享活动的实例,其他三种模式每个app都有自己的BackStack,肯定无法共享,所以singleInstance下会创建一个单独的返回栈解决共享活动的问题。



活动模式启动需要在AndroidMainifest.xml中修改(添加)对应activity:比如

android:launchMode="singleTask"

0 0