Activity4个启动模式梳理

  • standard
    这种是默认的启动模式,如果是此启动模式。每次启动Activity的时候,不管是否存在这个Activity,都会创建一个新的Activity放在栈顶。

  • SingleTop
    为了解决standard模式下带来的问题(如果FisrtActivity已经在栈顶了,为什么还要再创建一个新的FisrtAcvitity?),使用SingleTop启动模式可以解决如果该Activity已经在栈顶的时候,就可以直接使用FirstActivity。

  • SingleTask
    同样为了解决SingleTop中只能直接使用在栈顶的Activity的问题,SingleTask启动模式会先检查栈中是否已经存在需要启动的Activity。
    如果已经存在要启动的Activity,会将这个Activity上面的所有Activity全部出栈;如果没有要启动的Activity,就将创建一个新的Acitivty。
    注意此时返回到启动的Activity的时候,会执行该生命周期的onRestart()方法。

  • SingleInstance
    刚刚上面三种模式都是在同一个栈中的操作,使用SingleInstance启动模式后,SingleInstance的Activity会单独放到一个栈中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章