一、Activity 的launchMode(運行模式)共有4種,分別是:standard,singleTop,singleTask, singleInstance
10余年專注成都網站制作,企業網站制作,個人網站制作服務,為大家分享網站制作知識、方案,網站設計流程、步驟,成功服務上千家企業。為您提供網站建設,網站制作,網頁設計及定制高端網站建設服務,專注于企業網站制作,高端網頁制作,對電動窗簾等多個行業,擁有多年的網站營銷經驗。1 、standard:(備注:standard是系統默認的啟動模式。)
標準啟動模式,每次激活Activity 時都會創建Activity,并放入任務棧中。如果啟動此Activity的Intent中沒有設置FLAG_ACTIVITY_NEW_TASK標志,則這個Activity與啟動他的Activity在同一個Task中,如果設置了Activity請參考上面FLAG_ACTIVITY_NEW_TASK的詳細說明,“launchMode”設置為"standard"的Activity可以被實例化多次,可以在Task中的任何位置,對于一個新的Intent請求就會實例化一次.
2 、singleTop:
如果在任務的棧頂正好存在該Activity 的實例,就重用該實例,而不會創建新的Activity 對象,不過它會調用onNewIntent()方法。如果棧頂部不存在就會創建新的實例并放入棧頂(即使棧中已經存在該Activity 實例,只要不在棧頂,都會創建實例)。如果啟動此Activity 的Intent中沒有設置FLAG_ACTIVITY_NEW_TASK標志, 則這個Activity 與啟動他的Activity在同一個Task中, 如果設置了Activity 請參考上面FLAG_ACTIVITY_NEW_TASK的詳細說明, “launchMode”設置為"singleTop"的Activity可以被實例化多次,可以在Task中的任何位置,對于一個新的Intent請求如果在Task棧頂,則會用棧頂的Activity響影Intent請求,而不會重新實例化對象接收請求,如果沒有在棧頂,則會實例化一個新的對象接收Intent請求.
3 、singleTask:
如果在棧中已經有該Activity 的實例,就重用該實例(會調用實例的onNewIntent ())。重用時,會讓該實例回到棧頂,因此在它上面的實例將會被移除棧。如果棧中不存在該實例,將會創建新的實例放入棧中。和s ingleTop在名字上即可看出區別,即s ingleTop每次只檢測當前棧頂的activity是否是我們需要請求創建的,而singleTask則會檢測棧中全部的Activity 對象,從上向下,如果檢測到是我們所請求的則會消滅此Activity 對象上面的對象,直接把檢測到的我們需要的Activity 置為棧頂。“launchMode”設置為" singleTask"的Activity總是在棧底,只能被實例化一次,它允許其它Activity壓入"singleTask"的Activity 所在的Task棧,如果有新的Intent請求有此標志的Activity ,則系統會清除有此標志的Task棧中的全部Activity,并把此Activity顯示出來.
4 、singleInstance:
在一個新棧中創建該Activity 實例,并讓多個應用共享該Activity 實例。一旦這種模式的Activity實例存在于某個棧中,任何應用再激活這個Activity時都會重用該棧中的實例,其效果相當于多個應用程序共享一個應用,不管誰激活該Activity都會進入同一個應用中。此啟動模式和我們使用的瀏覽器工作原理類似,在多個程序中訪問瀏覽器時,如果當前瀏覽器沒有打開,則打開瀏覽器,否則會在當前打開的瀏覽器中訪問。此模式會節省大量的系統資源,因為他能保證要請求的Activity對象在當前的棧中只存在一個。“launchMode”設置為”singleInstance”的Activity總是在棧底,只能被實例化一次,不允許其它的Activity壓入”singleInstance”的Activity 所在Task棧,即整個Task棧中只能有這么一個Activity .
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:Activity之launchMode(運行模式)-創新互聯
文章地址:http://vcdvsql.cn/article16/ejsgg.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、營銷型網站建設、外貿建站、定制開發、網站設計公司、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯