Android基础(Activity的四种启动模式)

activity有以下四种启动模式:

standard(activity默认模式)
singleTop
singleTask
singleInstance

怎么设置activity的启动模式:

可以在AndroidMainifest.xml里面,的activity标签里面设置android:launchMode 属性

如何理解这四个启动模式

standard

standard是activity默认的启动模式,在activity栈中,只要每次创建一个activity就会加入栈中,栈中可以存在多个一样的activity。

singleTop

假设你activity栈顶有了一个activity A,这时候你再创建一个activity A的话,那么他会通过调用onNewIntent()方法重用你栈顶的activity A,而不会又新建一个activity A,这样就保证了你的栈顶只有一个activity A,其他情况的话和standard一样。

singleTask

假设在activity栈中有一个activity A,这时候你在创建一个activity A的话,那么他不会创建新的Activity A,而是把activity A前面的activity全部销毁掉,让activity A重新回到栈顶,也是调用了onNewIntent();

singleInstance

只要你创建了不同的activity,就会形成新的activity栈,并且如果activity已经创建的话,那么再创建相同的activity,就会调用onNewIntent进行复用。

你可能感兴趣的:(Android基础(Activity的四种启动模式))