您的位置:首页 > 移动开发 > Android开发

Android 基础学习——Activity四种启动模式

2015-09-03 17:15 841 查看
1. 启动模式

启动模式就是Activity启动时的策略,在AndroidMainfest.xml中的标签android:launchMode属性设置;

启动模式有四种,分别是 standard、singleTop、singleTask、singleInstance;

2. 任务栈

每个应用都有一个任务栈,用来存放Activity的,功能类似于函数调用的栈,先后顺序代表了Activity的出现顺序;

比如Activity1->Activity2->Activity3;

任务栈为:



3. Activity启动模式设置:

<activity android:name=".MainActivity" android:launchMode="standard" />


3. 启动模式

1) standard:每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈。

2) singleTop:如果在任务的栈顶正好存在该Activity的实例,就重用该实例,否则就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不再栈顶都会创建)

3)singleTask: 如果栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让实例回到栈顶,因此还在它上面的实例会被移除栈。如果栈中不存在该实例,就会创建新的实例放入栈中。

4)singleInstance:在一个新栈中创建该Activity实例,并让多个应用共享该栈中的Activity实例。一旦该模式的Activity的实例存在某个栈中,任何应用再激活该Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: