通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合.而这些Activity又被组织成了堆栈的形式.当一个Activity启动时,就会把它压入该Task的堆栈,而当用户在该Activity中按返回键,或者代码中finish掉时,就会将它从该Task的堆栈中弹出.然而,事实上我们的需求远没有我们想的那么简单.有时候,你可能希望在开启一个Activity时,重新开启一个Task:有时你可能希望将已经存在的一个Activity放到栈顶,而不是重新创建一个等