在意图中,我可以将此标记设置为FLAG_ACTIVITY_SINGLE_TOP
。有人可以解释一下它的含义,因为我只是不明白吗? =)
答案 0 :(得分:16)
The tasks page says for single top:
如果活动的实例已存在于当前任务的顶部,则系统通过调用其onNewIntent()方法将意图路由到该实例,而不是创建活动的新实例。活动可以多次实例化,每个实例可以属于不同的任务,一个任务可以有多个实例(但只有当后端堆栈顶部的活动不是活动的现有实例时)。
例如,假设任务回来了 stack由根活动A组成 活动B,C和D在顶部( 堆栈是A-B-C-D; D在上面)。一个 意图到达类型的活动 D.如果D具有默认的“标准” 启动模式,一个新的实例 类是启动和堆栈 变成A-B-C-D-D。但是,如果是的话 启动模式是“singleTop”, D的现有实例是传递的 意图通过onNewIntent(),因为 它位于堆栈顶部 - 堆栈 仍然是A-B-C-D。但是,如果有意图 到达B类活动, 然后添加一个新的B实例 堆栈,即使它的启动模式是 “singleTop”。
答案 1 :(得分:0)
If set, the activity will not be launched if it is already running at the top of
the history stack.