在android里,有4种activity的启动模式,分别为:
standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。
singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。
singleTask: 会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。
singleInstance: 这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例
stand模式,举例,A和B和C三个Activity直接调用,当前状态为A-B-C(栈顶)
当C再次调用A的时候,变为A-B-C-A,因为该模式每次都产生一个新的实例,此时需要后退4步才能返回到桌面。
singleTop模式,举例,C为singleTop,A和B为默认的stand模式,当前状态为A-B-C(栈顶),如果C再次调用C的时候,此时不会新建一个实例,还是复用之前