请教高人,能说下activity四种启动模式的应用场景吗

时间:2022-04-09 17:18:01
就是Standard, singletop, singletask和singleinstance
理论都清楚,但是实际运用中, 什么activity设置什么启动模式就有点迷糊了, 
高人能实际例子说明吗

3 个解决方案

#1


这个官方网站解释最清楚了,只能举些不那么实用的例子
standard 不说了
singletop 这个我曾经用来避免多次创建,比如点击一个按钮启动一个activity,如果快速点击多次会导致反复启动,一种办法是在点击事件里过滤,另一个办法是设置目标activity是singletop
singleTask 是不是就好比联系人activity
singleInstance 比如第一次启动时一个activity让用户填资料,填完后转到主activity,此时按后退,不再退回前一个activity。

#2


楼主这个东西,一两句也说不清,直接看博文:
http://www.cnblogs.com/fanchangfa/archive/2012/08/25/2657012.html

#3


嗯,这个问题不错
  Standard启动模式:标准启动模式,也是默认启动模式,会创建无限制的Activity实例进入Back Stack中即回退栈
  SingleTop启动模式:应用:::::在浏览器的书签 特点:检查栈顶是否存在这个实例 如果存在则不重新创建
  SingleTask启动模式:应用:::::::浏览器   特点:该实例在任务栈只能存在一个,如果再启动,则把上面的Activity实例全部清除
  SingleInstance启动模式:应用:::::::来电显示界面 特点:该实例Activity会创建一个单独的任务栈,且与用户正在交互的界面的任务栈在    前端,直到全部Activity退出.

#1


这个官方网站解释最清楚了,只能举些不那么实用的例子
standard 不说了
singletop 这个我曾经用来避免多次创建,比如点击一个按钮启动一个activity,如果快速点击多次会导致反复启动,一种办法是在点击事件里过滤,另一个办法是设置目标activity是singletop
singleTask 是不是就好比联系人activity
singleInstance 比如第一次启动时一个activity让用户填资料,填完后转到主activity,此时按后退,不再退回前一个activity。

#2


楼主这个东西,一两句也说不清,直接看博文:
http://www.cnblogs.com/fanchangfa/archive/2012/08/25/2657012.html

#3


嗯,这个问题不错
  Standard启动模式:标准启动模式,也是默认启动模式,会创建无限制的Activity实例进入Back Stack中即回退栈
  SingleTop启动模式:应用:::::在浏览器的书签 特点:检查栈顶是否存在这个实例 如果存在则不重新创建
  SingleTask启动模式:应用:::::::浏览器   特点:该实例在任务栈只能存在一个,如果再启动,则把上面的Activity实例全部清除
  SingleInstance启动模式:应用:::::::来电显示界面 特点:该实例Activity会创建一个单独的任务栈,且与用户正在交互的界面的任务栈在    前端,直到全部Activity退出.