Activity啓動模式
1 Standard模式
Standard模式是Android的默認啓動模式,你不在配置文件中做任何設置,那麼這個Activity就是standard模式,這種模式下,Activity可以有多個實例,每次啓動Activity,無論任務棧中是否已經有這個Activity的實例,系統都會創建一個新的Activity實例
2 SingleTop模式
SingleTop模式和standard模式非常相似,主要區別就是當一個singleTop模式的Activity已經位於任務棧的棧頂,再去啓動它時,不會再創建新的實例,但會調用Acitivity中的onNewIntent方法;如果不位於棧頂,就會創建新的實例,現在把配置文件中FirstActivity的啓動模式改爲SingleTop,我們的應用只有一個Activity,FirstActivity自然處於任務棧的棧頂。
3 SingleTask模式
SingleTask模式的Activity在同一個Task內只有一個實例,如果Activity已經位於棧頂,系統不會創建新的Activity實例,但會調用onNewIntent函數,和singleTop模式一樣。但Activity已經存在但不位於棧頂時,系統就會把該Activity移到棧頂,並把它上面的activity出棧。
4 SingleInstance模式
singleInstance模式也是單例的,但和singleTask不同,singleTask只是任務棧內單例,系統裏是可以有多個singleTask Activity實例的,而singleInstance Activity在整個系統裏只有一個實例,啓動一singleInstanceActivity時,系統會創建一個新的任務棧,並且這個任務棧只有他一個Activity。