launchMode
说起这个就想起来当初面试的时候,面试官问我安卓的四种启动模式,然后我就大概讲了讲,其实都是背诵的,也没有真正的理解这些启动模式在android中的实际意义,用处在那些地方今天我就或多或少的讲一下自己的理解
1、standard 模式
我们正常没有设置启动模式的时候,android的启动模式默认为standard这样的启动模式就是正常启动,启动的所有的activity都在一个task容器栈中,说到栈,我们学过java编程的因该都知道,栈是先进后出的原则,所以在先打开的activity就会最后才能退出,而且在这个栈中还可能出现相同的activity实例
2、singleTop 模式
如果用这种模式启动一个activity,就是如果task容器的栈顶存在这个激活的实例,就会重新使用这个activity的实例,不会重新再去实例化这个对象。
说到这里,就会想到如果栈顶没有要启动的实例呢?这时候只能重新创建这个activity的实例才行。
3、singleTask 模式
这种模式启动的activity只要在栈中,而且不管他在栈的任何位置都会被重用,但是打开的这个activity之后,就会把这个栈之上的所有activity移除掉。
所以这句话也可以这么理解,栈容器里只能有一个这个activity的实例
4、singleInstance 模式
这个意思就是可以让几个应用共享其中的Activity,可以处于不同的栈容器中。