1. 程式人生 > >Android Activity啟動模式設定為SingleTask需要注意的地方

Android Activity啟動模式設定為SingleTask需要注意的地方

Android Activity啟動模式設定為SingleTask需要注意的地方

  • 當Activity跳轉到啟動模式為SingleTask的Activity的時候,onRestart()不再回調,而是回撥 onNewInstance(Intent intent) 方法,其中引數可以從intent中獲取

  • Activity的四種啟動模式:

    1. standard
      模式啟動模式,每次啟用Activity時都會建立Activity,並放入任務棧中。
    2. singleTop
      如果在任務的棧頂正好存在該Activity的例項, 就重用該例項,否者就會建立新的例項並放入棧頂(即使棧中已經存在該Activity例項,只要不在棧頂,都會建立例項)。
    3. singleTask
      如果在棧中已經有該Activity的例項,就重用該例項(會呼叫例項的onNewIntent())。重用時,會讓該例項回到棧頂,因此在它上面的例項將會被移除棧。如果棧中不存在該例項,將會建立新的例項放入棧中。
    4. singleInstance
      在一個新棧中建立該Activity例項,並讓多個應用共享改棧中的該Activity例項。一旦改模式的Activity的例項存在於某個棧中,任何應用再啟用改Activity時都會重用該棧中的例項,其效果相當於多個應用程式共享一個應用,不管誰啟用該Activity都會進入同一個應用中。