a) Standard:标准模式,默认的的模式,遵循后进栈的先出栈的原则
b) SingleTop:如果发现激活的activity是自己,那么不再激活新的activity,而是复用旧的activity 例如:浏览器的书签是这个模式
C)SingleTask,如果发现激活的activity在任务栈里有,那么它将清空上面的activity,保证内存中只有一个activity在。例如:浏览器是这样的
D)SingleInstance:系统为之分配一个新的task,且里面只能有其一个Activity
应用:呼叫界面,紧急呼叫界面
b,c,d三种模式都会调用onNewIntent 只要是复用,都会调用
b) SingleTop:如果发现激活的activity是自己,那么不再激活新的activity,而是复用旧的activity 例如:浏览器的书签是这个模式
C)SingleTask,如果发现激活的activity在任务栈里有,那么它将清空上面的activity,保证内存中只有一个activity在。例如:浏览器是这样的
D)SingleInstance:系统为之分配一个新的task,且里面只能有其一个Activity
应用:呼叫界面,紧急呼叫界面
b,c,d三种模式都会调用onNewIntent 只要是复用,都会调用
2016-10-05
在创建设置为singleTask模式的Activity的实例时,如果当前task的taskAffinity与该Activity的taskAffinity一致,则直接在当前task中创建;如果不一致则在新的任务中创建该Activity的实例。
2016-08-24
已采纳回答 / 伟宅89
standard 不说了 singletop 这个我曾经用来避免多次创建,比如点击一个按钮启动一个activity,如果快速点击多次会导致反复启动,一种办法是在点击事件里过滤,另一个办法是设置目标activity是singletop singleTask 是不是就好比联系人activity singleInstance 比如第一次启动时一个activity让用户填资料,填完后转到主activity,此时按后退,不再退回前一个activity
2016-06-15