



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 淺析android之a(chǎn)ctivity生命周期 楊碎明 孫文高理解android的活動(dòng)(activity)生命周期是對(duì)一個(gè)智能機(jī)開發(fā)人員工非常重要的。 只有這樣,才能確保對(duì)一個(gè)邏輯的用戶的應(yīng)用程序有效管理其資源。android中的應(yīng)用程序(app)并不能管理自已的生命周期,而是由系統(tǒng)進(jìn)行統(tǒng)一的管理。1引言在現(xiàn)實(shí)生活中,經(jīng)常會(huì)用手機(jī)打電話,發(fā)短信,玩游戲等,這就需要與手機(jī)界面進(jìn)行交互,用戶與程序的交互是能通過activity完成的,活動(dòng)就是android程序的表現(xiàn)層,展示可視化的用戶界面,并接收與用戶交互所產(chǎn)生的界面事件活動(dòng)。 活動(dòng)可表現(xiàn)以下四
2、個(gè)狀態(tài): 分別是運(yùn)行 (running)狀態(tài)、暫停(paused)狀態(tài)、停止(stopped)狀態(tài)和銷毀(destroyed)狀態(tài)。 活動(dòng)的生命周期就是它所在進(jìn)程的生命周期。 分為三類:可視生命周期,前臺(tái)生命周期、和完整生命周期。2活動(dòng)交互機(jī)制2.1 活動(dòng)的四個(gè)狀態(tài)1)當(dāng)用戶界面在它在屏幕前臺(tái)時(shí),它是激活或運(yùn)行狀態(tài)。 它就是響應(yīng)用戶操作的activity。2)當(dāng)一個(gè)界面上面有另外一個(gè)activity,使它失去了焦點(diǎn)但仍然對(duì)用戶可視時(shí),這個(gè)界面實(shí)質(zhì)上處于暫停狀態(tài)。在它之上的activity如果沒有完全遮蓋整個(gè)手機(jī)屏幕,或者是透明的,被暫停的activity仍然對(duì)用戶可見,并且是存活狀態(tài)。3)當(dāng)它
3、完全被另一個(gè)activity覆蓋時(shí)則處于停止?fàn)顟B(tài)。它仍然保留所有的狀態(tài)和成員信息,然而對(duì)用戶是不可見的。所以它的窗口將被隱藏,如果其它地方需要內(nèi)存,則系統(tǒng)經(jīng)常會(huì)殺死這個(gè)activity。4)銷毀狀態(tài),不在以上三個(gè)狀態(tài)中的活動(dòng),如活動(dòng)已被回收或啟動(dòng)。3 activity生命周期3.1 活動(dòng)的生命周期因?yàn)榛顒?dòng)直接涉及與用戶交互界面的處理,而任意時(shí)刻與用戶交互的界面只有一個(gè),所以android針對(duì)活動(dòng)的管理采用了具有層次感的棧數(shù)據(jù)結(jié)構(gòu)。活動(dòng)棧保存了已經(jīng)啟動(dòng)并且沒有終止的活動(dòng),并遵循“先進(jìn)后出”的原則。例如,在某個(gè)時(shí)刻只有一個(gè)活動(dòng)處于棧頂,當(dāng)這個(gè)活動(dòng)被銷毀后,下面的活動(dòng)才可能處于棧頂,或者是有一個(gè)新的
4、活動(dòng)被創(chuàng)建出來,則上一個(gè)活動(dòng)就被壓下去。1)activity的完整生命周期從首次調(diào)用oncreate()這個(gè)方法開始,最后調(diào)用ondestroy()這個(gè)方法結(jié)束。在activity生命周期中,用oncreate()中設(shè)置所有“全局”狀態(tài)以完成初始化,而在ondestroy()中釋放所有系統(tǒng)資源。2)activity的可視生命周期從調(diào)用onstart()方法開始,最后調(diào)用的onstop()結(jié)束。在這個(gè)過程中,用戶可以在屏幕上看到activity活動(dòng), 雖然有時(shí)它不和用戶交互,也許它位于后臺(tái) 3)activity的前臺(tái)生命周期從調(diào)用onresume()開始,最后調(diào)用相應(yīng)的onpause()為結(jié)束。
5、在這個(gè)過程中,activity位于前臺(tái)最上面并與用戶進(jìn)行交互, 傳遞消息。activity會(huì)經(jīng)常在暫停和恢復(fù)之間進(jìn)行狀態(tài)轉(zhuǎn)換例如當(dāng)設(shè)備轉(zhuǎn)入休眠狀態(tài)或者有新的activity啟動(dòng)時(shí),將調(diào)用onpause() 方法。當(dāng)activity獲得結(jié)果或者接收到新的intent時(shí)會(huì)調(diào)用onresume() 方法。4)activity的onsaveinstancestate()和 onrestoreinstancestate()方法activity的 onsaveinstancestate() 和 onrestoreinstancestate()這兩兩個(gè)方法并不是生命周期方法,它們與 oncreate()、o
6、npause()等生命周期方法有本質(zhì)的區(qū)別,它們常常并不會(huì)被調(diào)用,而當(dāng)發(fā)生意外時(shí)才觸發(fā)。如當(dāng)應(yīng)用遇到意外情況,由系統(tǒng)銷毀一個(gè)activity時(shí),onsaveinstancestate()才會(huì)被調(diào)用。但是當(dāng)用戶有意去銷毀一個(gè)activity時(shí),例如在應(yīng)用中按返回鍵,onsaveinstancestate()就不會(huì)被調(diào)用。在這種情況下因?yàn)橛脩舻男袨闆Q定了,不需要保存activity的狀態(tài)。通常onsaveinstancestate()只適合用于保存一些 暫時(shí)性的狀態(tài),而onpause()適合用于數(shù)據(jù)的永久保存。activity生命周期一般分為四個(gè)基本狀態(tài),分別是活動(dòng)狀態(tài)(running),暫停狀態(tài)(paused),停止?fàn)顟B(tài)(stopped)和死亡狀態(tài)。 activity七大生命周期函數(shù), activity一共有七個(gè)生命周期函數(shù),分別為 oncreate(), onrestart(), onstart(), onreusme(), onpause(), onstop(), ondestor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 皮影文化課題申報(bào)書
- 智能農(nóng)場(chǎng)研究課題申報(bào)書
- 課題項(xiàng)目申報(bào)書研究內(nèi)容
- 教師課題申報(bào)書講座視頻
- 課題立項(xiàng)申報(bào)書如何上傳
- 怎么寫科研課題申報(bào)書
- 教育學(xué) 課題申報(bào)書
- 怎樣查課題申報(bào)書
- 課題申報(bào)評(píng)審書注意事項(xiàng)
- 課題申報(bào)書選題
- (正式版)JBT 14660-2024 額定電壓6kV到30kV地下掘進(jìn)設(shè)備用橡皮絕緣軟電纜
- 本科院校-基礎(chǔ)醫(yī)學(xué)-醫(yī)學(xué)細(xì)胞生物學(xué)-第二章 細(xì)胞的概念與分子基礎(chǔ)
- iso37001-2016反賄賂管理手冊(cè)程序文件表單一整套
- 新蘇教版科學(xué)六年級(jí)下冊(cè)全冊(cè)教案(含反思)
- 火災(zāi)自動(dòng)報(bào)警系統(tǒng)檢查表
- 高速公路橋頭跳車判別和處治
- 骨髓細(xì)胞圖譜
- 建筑工程分部分項(xiàng)工程劃分表(新版)
- 勃利縣大四站鎮(zhèn)侵蝕溝治理工程施工組織設(shè)計(jì)
- 公路瀝青路面設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范
- 普通高中歷史課程標(biāo)準(zhǔn)(2022年版2023年修訂)解讀
評(píng)論
0/150
提交評(píng)論