Activity的启动模式及其特点

1、standard(标准模式):是Activity的默认模式;每一次使用startActivity()启动Activity时都会实例化一个新的Activity对象并放入回退栈中;

2、singleTop:在启动新的Activity时,会判断栈顶的Activity和将要启动的Activity是否一致,如果不一致,则实例化一个新的Activity对象放入回退栈中,如果一致,则不会实例化新的Activity,会重用栈顶的Activity,同时会调用栈顶Activity中的onNewInstance()方法;

3、singleTask:在启动新的Activity时会查看回退栈中是否有要启动的Activity,如果有并在栈顶,则和singleTop一致,如果有并且不在栈顶,会首先将要启动的Activity在回退栈中的上面所有的Activity出栈,然后调用现在栈顶Activity的onNewInstance()方法;

4、singleInstance:在启动新的Activity时,首先会将新的Activity放到一个新的栈中,将引用地址放到回退栈中,如果回退栈中有要启动的Activity的引用地址,会将其删除,将引用地址放到栈顶,全程只有一个新Activity的引用地址在回退栈中;

你可能感兴趣的:(Android)