LaunchMode
##standard:
标准模式,每次启动都会重新创建一个新的实例(无论实例是否存在)onCreate(),onStart(),onResume()都会被调用
##singleTop:
栈顶复用模式,如果新Activity已经位于任务栈顶,则不重新创建实例,会走onNewIntent(),但是onCreate()和onStart()不会被调用,反之则会继续创建实例.
##singleTask
栈内复用模式,若所需栈不存在,则创建栈压入此栈中.若所需任务栈存在则把实例调到栈顶(意味着实例上的所有其余实例都会出栈),并调用onNewIntent()方法,
##singleInstance
单实例模式,是singleTask加强版,特性:只能单独位于一个任务栈中
Activity的Flags
Intent.FLAG_ACTIVITY_NEW_TASK
–>singleTask
Intent.FLAG_ACTIVITY_SINGLE_TOP
–>singleTop
Intent.FLAG_ACTIVITY_CLEAR_TOP
–>栈中位于它上的Activity都要出栈
–>配合FLAG_ACTIVITY_NEW_TASK使用,回调onNewIntent
–>如果被启动的Activity是standard模式,那么连同它在内,其上的所有Activity都出栈,系统重新创建Activity
Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
–>