16 Activity介绍
16.1Activity启动方式
16.1.1启动模式
(1)Standard模式
这是系统默认的模式,每次启动Activity都会重新创建一个新的Activity实例,也就是onCreate,onStart,onResume流程走一遍,并且一个任务栈里允许存在多个实例。
当我们使用ApplicationContext去启动Activity的时候,因为默认是standard模式会报错:Calling startActivity()from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.Is this really what you want?
因为standard 模式默认启动的Activity会和启动它的Activity在同一任务栈,而由于ApplicationContext非Activity的Context,并没有所谓的任务栈,所以提示我们需要使用FLAG_ACTIVITY_NEW_TASK来新建一个任务栈并把启动的Activity放进去。
(2)SingleTop模式
在同一个任务栈中栈顶如果有此Activity的实例,那么不会重新创建一个新实例,而是调用此Activity的onNewIntent,此时onCreate、onStart不会被调用。但如果此Activity在同一个任务栈但不在栈顶或之前用S