activity的启动模式

来源:互联网 发布:红蜘蛛软件 路由器 编辑:程序博客网 时间:2024/06/11 03:02

Activity任务栈
应用运行过程中,内存中可能会打开多个Activity,那么所有打开的Activity都会被保存在Activity任务栈
栈:后进先出(,最先进栈,就会最后出栈。)

1、Activity的启动模式
标准模式 后进先出。 standard
singleTop:如果目标Activity不在栈顶,那么就会启动一个新的Activity,如果已经在栈顶了,那么就不会再启动了
* singleTask:如果栈中没有该Activity,那么启动时就会创建一个该Activity,如果栈中已经有该Activity的实例存在了,那么在启动时,就会杀死在栈中处于该Activity上方的所有Activity全部杀死,那么此时该Activity就成为了栈顶Activity。
* singleTask的作用:保证整个栈中只有一个该Activity的实例
* singleInstance:设为此模式的Activity会有一个自己独立的任务栈,该Activity的实例只会创建一个,保存在独立的任务栈中
* singleInstance的作用:保证整个系统的内存中只有一个该Activity的实例

singleTop activity位于栈顶 不再启动。位于栈顶时保证只有一个activity。
singleTask activity (具有该启动模式的activity)位于启动时候的栈顶。栈中存在的话 上方的activity全部被杀死。成为栈顶activity. 在内存中保证只有一个activity 防止消耗内存资源。

 <activity android:launchMode="singleTask"   android:name="com.zh.lauch.SecondActivity"></activity>
0 0
原创粉丝点击