Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activity的属性android:launchMode=""设置。
standard:当调用者调用时,无论Task栈中有没有该Activity实例,也无论既有的该Activity实例师是否处于顶端,构造一个实例,加入到调用者的Task栈中去,退出时销毁。
singletop:查看调用者的Task栈中是否存在该activity并处于Task栈顶端,如果是复用将新来的Intent发送到栈顶Activity中,栈顶的Activity可以通过重载onNewIntent来处理新的Intent,如果不是,构造新实例加入栈顶。
singleTask:如果任务栈中存在该模式的Activity实例,则把栈中该实例以上的Activity实例全部移除,调用该实例的newInstance()方法重用该Activity,使该实例处於栈顶位置,否则就重新创建一个新的Activity实例。
singleInstance:栈中只有一个activity实例,涉及到的其他Activity,都移交到其他Task中进行,像一座孤岛,彻底的黑盒,它不关注请求来自何方,也不计较后续由谁执行。