standard 是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用這個啟動模式。對於使用 standard 模式的活動,系統不會在乎活動是否已在返回棧中存在,每次啟動都會建立乙個新的活動例項。
當活動的啟動模式指定為 singletop 時,若啟動活動時發現返回棧的棧頂已是該活動,則直接使用它,不建立新的活動例項。
當活動的啟動模式為 singletask 時,啟動活動時會首先檢查返回棧中是否存在該活動,若有則使用並將在它之上的所有活動清出返回棧。若無則建立新的活動例項。
當活動的啟動模式為 singleinstance 時,啟動活動時會建立乙個新的返回棧來管理該活動。這樣做的意義在於:假設我們的程式中有乙個活動是允許其他程式呼叫的,如果我們想實現其他程式和我們的程式可以共享這個活動的例項,其他三種啟動模式是不可行的,因為每個應用程式都會有自己的返回棧,同乙個活動在不同的返回棧中入棧時必然會建立新的例項。而在 singleinstance 模式下,會有乙個單獨的返回棧來管理這個活動,不管是哪個應用程式來訪問該活動,都共用的同乙個返回棧,故解決了共享活動例項的問題。
Android 活動的四種啟動模式
android系統啟動新的應用的時候,都會為這個應用建立乙個新的返回棧,該應用的活動都會存放在這個返回棧中.活動的啟動模式總共有四種.分別是 standard,singletop,singletask,singleinstance.應該根據實際需要,選擇合適的啟動模式.1.standard 標準或缺...
Activity四種啟動模式
launchmode在多個activity跳轉的過程中扮演著重要的角色,它可以決定是否生成新的activity例項,是否重用已存在的activity例項,是否和其他activity例項公用乙個task裡。這裡簡單介紹一下task的概念,task是乙個具有棧結構的物件,乙個task可以管理多個acti...
Activity四種啟動模式
activity的啟動模式可以通過androidmanifest.xml檔案中的元素的屬性來指定,一共有4中模式 android name activitymain android launchmode singletask 1 standard 2 singletop 3 singletask 4...