




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Activity之生命周期和啟動模式activity類處于android.app包中,繼承體系如下:java.lang.Objectandroid.content.Contextandroid.content.ContextWrapperandroid.view.ContextThemeWrapperandroid.app.Activity在Android中,Activity的生命周期一直是比較重要的知識點,首先上官方圖:七個周期函數(shù),可以添加log觀察周期函數(shù)的輸出驗證生命周期函數(shù)的調(diào)用時間:protected void onCreate(Bundle icicle);protected void onRestart();protected void onStart();protected void onResume();/常用來刷新顯示數(shù)據(jù)protected void onPause();/常用來保存數(shù)據(jù),如contentprider,sharedpreferprotected void onStop();protected void onDestroy();生命周期總結(jié):1,在 android 中,Activity 擁有四種基本狀態(tài):1. Active/Runing一個新 Activity 啟動入棧后,它在屏幕最前端,處于棧的最頂端,此時它處于可見并可和用戶交互的激活狀態(tài)。2. Paused當(dāng) Activity 被另一個透明或者 Dialog 樣式的 Activity 覆蓋時的狀態(tài)。此時它依然與窗口管理器保持連接,系統(tǒng)繼續(xù)維護其內(nèi)部狀態(tài),所以它仍然可見,但它已經(jīng)失去了焦點故不可與用戶交互。3. Stoped當(dāng) Activity 被另外一個 Activity 覆蓋、失去焦點并不可見時處于Stoped狀態(tài)。4. KilledActivity 被系統(tǒng)殺死回收或者沒有被啟動時處于Killed狀態(tài)。2,Activity棧(下面啟動模式的基礎(chǔ)):Android 是通過一種 Activity 棧的方式來管理 Activity 的,一個 Activity 的實例的狀態(tài)決定它在棧中的位置。處于前臺的 Activity 總是在棧的頂端,當(dāng)前臺的 Activity 因為異?;蚱渌虮讳N毀時,處于棧第二層的 Activity 將被激活,上浮到棧頂。當(dāng)新的 Activity 啟動入棧時,原 Activity 會被壓入到棧的第二層。一個 Activity 在棧中的位置變化反映了它在不同狀態(tài)間的轉(zhuǎn)換。Android之Activity的四種啟動模式當(dāng)應(yīng)用運行起來后就會開啟一條線程,線程中會運行一個任務(wù)棧,當(dāng)Activity實例創(chuàng)建后就會放入任務(wù)棧中。Activity啟動模式的設(shè)置在AndroidManifest.xml文件中,通過配置Activity的屬性android:launchMode=設(shè)置啟動模式。如下1,2,3都設(shè)FirstActivity為當(dāng)前模式,4設(shè)SecondActivity。1.Standared模式(默認(rèn))我們平時直接創(chuàng)建的Activity都是這種模式的Activity,這種模式的Activity的特點是:只要你創(chuàng)建了Activity實例,一旦激活該Activity,則會向任務(wù)棧中加入新創(chuàng)建的實例,退出Activity則會在任務(wù)棧中銷毀該實例。2.SingleTop模式這種模式會考慮當(dāng)前要激活的Activity實例在任務(wù)棧中是否正處于棧頂,如果處于棧頂則無需重新創(chuàng)建新的實例,會重用已存在的實例調(diào)用onNewIntent,否則會在任務(wù)棧中創(chuàng)建新的實例。3.SingleTask模式如果任務(wù)棧中存在該模式的Activity實例,則把棧中該實例以上的Activity實例全部移除,調(diào)用該實例的onNewIntent方法重用該Activity,使該實例處於棧頂位置,否則就重新創(chuàng)建一個新的Activity實例。和下面的singleinstance一樣,通常在laucher中使用,避免別的程序使用時產(chǎn)生孤島,也在開銷較大的activity中使用節(jié)約內(nèi)存開銷。4.SingleInstance模式這種啟動模式比較特殊,因為它會啟用一個新的棧結(jié)構(gòu),將Acitvity放置于這個新的棧結(jié)構(gòu)中,并保證不再有其他Activity實例進入。我們修改FirstActivity的launchMode=standard,SecondActivity的launchMode=singleInstance我們看到從FirstActivity跳轉(zhuǎn)到SecondActivity時,重新啟用了一個新的棧結(jié)構(gòu),來放置SecondActivity實例,然后按下后退鍵,再次回到原始棧結(jié)構(gòu);圖中下半部分顯示的在SecondActivity中再次跳轉(zhuǎn)到FirstActivity,這個時候系統(tǒng)會在原始棧結(jié)構(gòu)中生成一個FirstActivity實例,然后回退兩次,注意,并沒有退出,而是回到了SecondActivity,為什么呢?是因為從SecondActivity跳轉(zhuǎn)到FirstActivity的時候,我們的起點變成了SecondActivity
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品配送召回管理制度
- 藥庫防盜安全管理制度
- 藥店處方調(diào)劑管理制度
- 藥店藥品服務(wù)管理制度
- 營運客車員工管理制度
- 設(shè)備公司行政管理制度
- 設(shè)備安裝改造管理制度
- 設(shè)備改造報廢管理制度
- 設(shè)備清理保養(yǎng)管理制度
- 設(shè)備缺陷閉環(huán)管理制度
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護導(dǎo)體
- 2025年法院書記員招聘考試題庫(含各題型)
- 2025山西焦煤集團公司招聘高頻重點提升(共500題)附帶答案詳解
- 《民用無人機作業(yè)氣象條件等級 植?!肪幹普f明
- 手術(shù)室綠色通道病人搶救
- 《保密制度培訓(xùn)》課件
- 【MOOC】醫(yī)學(xué)物理學(xué)-山東大學(xué) 中國大學(xué)慕課MOOC答案
- 糖尿病周血管病變
- 中藥灌腸法治療腎衰
- 《保健食品知識》課件
- 標(biāo)準(zhǔn)隔音施工方案
評論
0/150
提交評論