Maybe it's my understanding in English. Google's description of launchMode is always confusing, so I tested these modes separately, according to my understanding, refresh the text A-standard: default mode. Always create A new A instance. The same Task can have multiple A instance Task stacks: a1-> A2-> A3-> A4 B-singleTop: similar to standard. However, when B is at the top of the stack, no new B instance is created (A1 creates B1, in this case, B1 can create A2, but cannot create a new B instance. A2 can create a new B instance.) Task Stack: A1-> B1-> A2-> B2 C-singleTask: b1 creates a C instance in a new task. C can create B2 and A2 in its own task. When A2 starts C, no new C instance will be created, instead of transferring to the A2Task stack before C, directly go to the current instance of C and return B1 starting C directly when C returns: a1-> B1 \ C-> B2-> A2 D-singleIn Stance: similar to singleTask, but the new task can only have one instance of D. B2 started by D will be created in the original task. B2 cannot return D, but B1. After A1 exits, you can see that D is still in progress. Task Stack: A1-B1 B2-> A2 \/D