Activity四种启动模式
- 1.standard
- 2.singleTop
- 3.singleTask
- 4.singleInstance
1.standard系统默认的启动模式
每次启动ActivityB(standard)都会创建一个新的ActivityB实例。并且所有的Activity实例都在当前程序所在的Task中。

启动Activity方式
// 显示启动
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivity(intent);
//隐式启动
Intent intent = new Intent();
intent.setAction("action");
startActivity(intent);
2.singleTop启动模式
该启动模式使程序Task中可存在多个ActivityB实例。但ActivityB不会存在重叠的实例,顶层如存在实例ActivityB,如果再启动ActivityB,不会创建新的实例,而是直接调用ActivityB中的onNewIntent(Intent intent)方法。

3.singleTask启动模式
程序Task中不可存在多个ActivityB实例。如Task中已经存在ActivityB实例,再次启动ActivityB,则系统会把Task中ActivityB实例之上所有Activity实例销毁,然后调用ActivityB实例的onNewIntent(Intent intent)方法。

4.singleInstance启动模式
ActivityA启动ActivityB(singleInstance),系统会为ActivityB单独开启一个Task并且把ActivityB实例放入Task中,如ActivityB跳转到ActivityC,则系统会把ActivityC实例压入程序所在的Task。

网友评论