Activity的启动模式之singleTop模式

当启动的activity以及位于栈顶时,则直接使用它不创建新的实例,同时它的onNewIntent方法会被回调,通过此方法的参数我们可以去除当前请求的信息,这个activity的onCreate、onStart不会被系统调用,因为它并没有发生改变。如果启动的activity没有位于栈顶时,则创建一个新的实例位于栈顶

举个例子,假设目前栈内的情况为ABCD,其中ABCD为四个Activity, A位于栈底,D位于栈顶,这个时候假设要再次启动D,如果D的启动模式为singleTop,那么栈内的情况仍然为ABCD;

如果D的启动模式为standard,那么由于D被重新创建,导致栈内的情况就变为ABCDD。


 

实例:

这个是mainActivity

Activity的启动模式之singleTop模式_第1张图片

BActivity

Activity的启动模式之singleTop模式_第2张图片

Activity的启动模式之singleTop模式_第3张图片

 运行结果

Activity的启动模式之singleTop模式_第4张图片

启动mainActivity时,只有一个实例 

你可能感兴趣的:(Android)