activity的四个启动方式分别是standard、singletop、singletask、singleinstance。第一个其实就是只要新打开活动就会新建一个实例。第二个顾名思义返回栈的顶部只会有一个活动即栈顶的活动启动自己时不会新建实例还是栈顶活动本身。第三个则避免了活动的重复建立的问题一个活动建立后以后再有其他活动打开这个活动会把一开始建立的活动放到栈顶而不会新建立实例了。最后一个会新建一个独立于launch的栈以供其他活动的使用。但同时四个启动方式混杂时back之后要注意不同的栈之间的关系判断back之后回到的是哪个活动。推荐看https://blog.csdn.net/zivensonice/article/details/51569502。https://blog.csdn.net/mr_jingfu/article/details/79077613。