首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 13907|回復(fù): 0
上一主題 下一主題
[教程]

《Android Dev Guide》系列教程6:Android生命周期之a(chǎn)ctivity生命周

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
>  注意killable這列,它指明了進(jìn)程在調(diào)用方法返回后是否可以被系統(tǒng)殺死,而不執(zhí)行其他的代碼。onPause(), onStop(), and onDestroy()這三個(gè)方法可以,因?yàn)閛nPause方法首先被執(zhí)行,他是唯一一個(gè)一定會(huì)被調(diào)用的方法當(dāng)進(jìn)程被殺死時(shí),但是onStop()和onDestroy()方法不會(huì)。因此,你可以在onPause()方法里保存一些連續(xù)的數(shù)據(jù),例如編輯。killable這列被標(biāo)記成no的方法,保護(hù)activity防止他們被調(diào)用時(shí),被進(jìn)程殺死。例如:一個(gè)activity是處于可被殺死的狀態(tài),當(dāng)activity從onPause()方法跳轉(zhuǎn)到onResume()方法時(shí),在OnPause方法回調(diào)之前是不會(huì)被殺死的。正如后面的章節(jié):進(jìn)程和生命周期,一個(gè)沒有定義為“killable”的activity仍然可以被系統(tǒng)結(jié)束,但這時(shí)會(huì)發(fā)生在特殊情況下,比如沒有其他資源時(shí)。當(dāng)系統(tǒng)(而不是用戶)關(guān)閉一個(gè)activity來(lái)節(jié)省內(nèi)存時(shí),用戶希望再次啟動(dòng)activity時(shí)會(huì)回到當(dāng)時(shí)的狀態(tài)。為了在activity被殺死之前捕獲他的狀態(tài),你可以實(shí)現(xiàn) onSaveInstanceState()方法,Android會(huì)在一個(gè)activity將要被關(guān)閉時(shí)調(diào)用這個(gè)方法,也就是在onPause()方法之前。他回傳遞給方法一個(gè)Bandle對(duì)象,你可以用key-value的方式保存你的數(shù)據(jù)。當(dāng)activity再次運(yùn)行時(shí)。這個(gè)Bandle對(duì)象會(huì)傳遞給onCreate()方法、onStart()方法、onRestoreInstanceState()方法。這幾個(gè)方法都能重建當(dāng)時(shí)的activity狀態(tài)。不像onPause()和剛才討論的其他幾個(gè)方法,onSaveInstanceState()和onRestoreInstanceState()方法不是生命周期方法。不是不是總被調(diào)用。例如:Android在activity將要被系統(tǒng)銷毀之前調(diào)用onSaveInstanceState()方法,當(dāng)activity實(shí)例被用戶的操作銷毀時(shí)(例如按下Back鍵),是不會(huì)調(diào)用這個(gè)方法的。這種情況下沒有理由保存他的狀態(tài)。當(dāng)一個(gè)activity啟動(dòng)了另一個(gè)activity,他們都經(jīng)歷了生命周期的轉(zhuǎn)換。一個(gè)暫停了或者結(jié)束了,其他的activity啟動(dòng)。一種情況你可能需要調(diào)節(jié)這些activity:生命周期方法的回調(diào)順序都是定義好的,尤其當(dāng)兩個(gè)activity在同一進(jìn)程下:1.當(dāng)前運(yùn)行的activity的onPause()方法被調(diào)用。2.然后將要運(yùn)行的activity的onCreate()、onStart()、onResume()方法被依次調(diào)用。3.然后,如果將要運(yùn)行的activity不太可見,那么onstop()方法會(huì)被調(diào)用。   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

上一篇:《Android Dev Guide》系列教程7:Android生命周期之serviceBroadcast
下一篇:《Android Dev Guide》系列教程5:Android進(jìn)程和線程

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2025-1-15 23:05 , Processed in 0.058860 second(s), 15 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2025 ZNDS.Com

快速回復(fù) 返回頂部 返回列表