关于启动模式的分析,android开发艺术探索中间的很详细。
standard
这要注意的是别的activity
启动他的时候他会在启动他的activity
的栈中。但是如果singleInstance
启动他则不会在启动他的activity
的栈中,因为singleInstance
是单独一个栈中单独一个实例的。singleTop
和standard
类似,加上栈顶复用。singleTask
这个和singleTop
singleInstace
都有相似的地方,singleTop
是栈顶只能有一个实例,而singleTask
是所用的栈中只能有一个实例。启动时先到他可能存在的栈(由属性TaskAffinity
指定)中找,找到就会把栈切换到前台并且把所有在他上面的Activity
弹出栈。这样你按回退键的时候就会先把当前栈的Activity
回退干净,其实singleInstance
也是这种机制,只不过他栈里只有一个Activity
看起来个打开了一个standard
模式的Activity
没什么区别。singleinstance
和singleTask
差不多Task
值得是一组Activity
来共同完成一项task(任务)。