Android启动模式

Android启动模式

Android使用栈来管理Activity。
Android的 启动模式共4种分别为standard、singleTop、singleTask、singleInstance。

standard

假如Firstactivity在栈顶,此时如果继续构建Firstactivity,还会继续构建Firstactivity
Android启动模式

singleTop

如果Firstactivity如果在栈顶,则不会继续构建Firstactivity,如果此时Secondactivity在栈顶,如果继续构建Firstactivity,则会继续构建Firstactivity
Android启动模式

singleTask

如果此时Firstactivity已经存在栈中,那么继续构建Firstactivity的话,无法构建,会将栈顶出栈,直到Firstactivity处于栈顶中。如果Firstactivity不在栈中,则构建Firstactivity。始终保持栈中只有1个Firstactivity
Android启动模式

singleInstance

此时把SecondActivity设置成singleInstance模式,那么SecondActivity会启用一个新的返回栈来管理SecondActivity。可以实现程序之间的共享调用这个activity。无论哪个应用程序来访问这个activity,都共用同一个返回栈。这是因为每一个应用程序都有自己的返回栈,同一个activity在不同的返回栈中入栈必然创建新的实例

此时FirstActivity构建SecondActivity时候,会创建一个新的返回栈B来管理SecondActivity,SecondActivity构建ThirdActivity时候,ThirdActivity会处于原先的返回栈A中,若ThirdActivity退出,则显示FirstActivity,FirstActivity退出,则返回栈A空了,显示另一个返回栈B,此时显示SecondActivity。
Android启动模式