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會單獨放到一個棧中。

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