密码管理请下载:
http://a.app.qq.com/o/simple.jsp?pkgname=com.wa505.kf.epassword
1. 默认启动模式: 不考虑task
2.singleTop: 如果在task顶,则不启动。
3.singleTask: 只属于一个task。如果对对应task存在,则直接启动到对应的task中,不会启动新的task作为root。并且,若启动的时候,发现task中已经有此activity,就会弹出所有top.
4.singleInstance:只属于一个task, 并且此task中只有一个activity.
关于FLAG_ACTIVITY_NEW_TASK:
1. Activity是否能够作为新的task的来启动的一个标记。具体是否作为新的task启动主要取决于taskAffinity对应的task是否存在,如果已存在,则不启动新的task,如果不存在,则启动新的task。
2. 如果启动新的task,则一定会启动此activity
3. 如果不启动新的task,是否启动Activity取决于以这个Activity作为task标记的task是否存在。
如果存在,则不启动activity,否则启动activity。
4. 如果不启动新的task,但是启动了FLAG_ACTIVITY_NEW_TASK对应的activity,此activity一旦切换为root,那么此activity 就会标记一个新的task。
所以FLAG_ACTIVITY_NEW_TASK 是一个“必要时以此activity建立task的标记”, 而不是“以此activity建立task的标记”。