standard: A-B-C-D-D 每启动一次就创建要给新的实例。
singletop : 如果activity 没在栈顶 则创建一个实例, 如果在栈顶则不会创建实例,直接复用。
singletask: 检查栈中是否有此activity,如果有则把栈里此activity上面的都清空。
singleinstance :如果activity设置为此模式, 当创建实例后,会把此activity单独放在一个栈中(自己的栈),且栈中只能有一个实例。(也就是说会存在2个栈,一个是此Aactivity的(A栈)栈,一个是存放其他activities的(B栈)栈),并且会有交互。
当进入Aactivity时,A栈在前,B栈在后。退出时,先把A栈里的清空,再依次清空B栈中的activity。
当从Aactivity进入到其他Activtiy时, B栈在前,A栈在后。退出时,先依次清空B栈中的activity,然后再清除A栈中的Aactivity。
这也就是所谓的交互,可以理解为 singleinstance模式会单独创建一个栈(也就是存在2个栈),退出时,先清除在前面的栈(依次退出),再清除后面的栈。