First you need to understand the task stack:
The stack is advanced, the activity is in a different startup mode, and a completely different operation is taken each time he visits him.
1. Standard mode
Android:launchmode= "Standard"/>
Each access activity will create an instance of the stack
2, stack top mode--singletop
If an activity is accessed at the top of the stack, the activity does not instantiate the object again, but accesses an instance that already exists on the top of the stack, such as the stack top pattern set by an activity. When you go to the interface of his own to jump on the time will not instantiate an instance of their own.
3, Singletask
If you visit an activity that already has an instance on the stack, you will not generate an instance of the activity again, but instead access the instance that already exists on the stack and remove all the activity on the stack so that it is on top of the stack.
4. Single case Mode--singleinstance
For example, a browser, if a program opened the browser, another program to open the browser, it will jump to the browser interface has been opened, so as to avoid the waste of resources.