android——launchMode

android总共有四种启动模式:Standard SingleTop SingleTask SingleInstance

1.Standard

默认启动模式 在此模式下每个activity启动都会重新创建实例,遵循后进先出。

2.SingleTop

栈顶复用模式 如果栈顶已经存在此activity 则复用不在重写实例(onCreate),如果没有的话,就重新实例化。

3.SingleTask

栈内复用模式 如果栈内已经存在该activity,那它上面的activity则依次出栈,直到该activity位于栈顶。

如果跟SingleTop一起用的话

a.SingleTop 1 SingleTask 2

1启动2,SingleTask 2实例化。back返回1,SingleTask 2销毁;跳转回1,SingleTop 1重新实例化

b.SingleTask 1 SingleTop 2

1启动2,SingleTop 2实例化。back返回1,SingleTop 2销毁;跳转回1,SingleTop 2销毁,1因为在栈内,复用

4.SingleInstance

单实例模式 如果已经存在,则复用;不存在,则在另一个栈内实例化(这样不会受上述模式影响),并且该实例不管在哪个应用,都会共享改实例对象(使用隐式启动)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容