您的位置:首页 > 其它

简单理解Activity的四种启动模式

2017-02-20 23:25 330 查看
栈结构:后进先出

启动模式:

standard/singleTop/singleTask/singleInstance

注意事项:

在standard启动模式中,用ApplicationContext去启动standard模式的activity的时候会报错,这是由于非Actity类型的Context并没有所谓的任务栈。

解决方式,为待启动的Activity之地哦那个FLAG_ACTIVITY_NEW_TASK标记位。(singleTask)


singleTop与singleTask的区别:

栈顶复用和栈内复用模式。
栈顶复用:假如ABCD四个栈,调用D则不再创建,而是复用,其他则重新创建。
栈内复用:加入ABCD四个栈,调用B系统会把B切换到栈顶并清除B上面的CD栈,复用B。


注意:这两种方式都是通过onNewIntent方法进行请求回掉的。

注意:singleTask 中 TaskAffinity属性可以制定任务栈的启动位置(具体详细P19)。

singleInstance:单实例模式,加强版SingleTask,独立创建任务栈。

—————《Android开发艺术探索》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Activity启动