Activity四种启动模式
2017-06-14 本文已影响0人
烂吹笙
一、启动模式
Activity一共有四种启动模式,分别是:standard、singleTop、singleTask、singleInstance
1.standard 默认模式
这种模式是Activity默认的启动模式,当我们不在清单文件中通过android:launchMode属性设置启动模式或设置为standard的时候,那么系统会默认使用该模式启动Activity。这种启动模式每次都会创建一个新的实例,不管这个实例是否存在,这种启动模式下,onCreate()、onStart()、onResume()、都会调用。
2.singleTop 栈顶复用模式
如果栈顶有这个Activity的实例,那么系统就不会创建一个新的实例,这个时候会调用onNewIntent方法。若栈顶不存在该Activity的实例,则他和standard模式一样。栈顶的时候,onCreate()、onStart()都不会调用,而只会调用onNewIntent、onResume
3.singleTask 栈中单例模式
如果栈中有这个Activity的实例,那么将会复用它,不管它是否在栈顶,复用的时,会将这个Activity上面的Activity全部出栈
4.singleInstance 全局单例模式
它拥有singleTask所有的特性,和它唯一的区别就是Activity会单独使用一个栈,具有全局唯一性,而且栈中只有一个实例