Activity 生存周期
| 方法 | 描述 | 可被殺死? | 下一步 | ||
|---|---|---|---|---|---|
|
當(dāng)Activity第一次啟動(dòng)時(shí)被創(chuàng)建. 這里應(yīng)該放置你的一些靜態(tài)設(shè)置,諸如創(chuàng)建View、向list綁定數(shù)據(jù)等等的一些初始化工作。 這個(gè)方法可以通過一個(gè)Bundle對(duì)象來恢復(fù)此Activity之前的狀態(tài)。
下一個(gè)生命狀態(tài)是 |
否 | onStart() |
||
|
在activity已停止活動(dòng),再次啟動(dòng)前調(diào)用。 下一個(gè)生命狀態(tài)是 |
否 | onStart() |
||
|
在activity被用戶可見之前調(diào)用。
如果acitivity在前臺(tái),也就是被用戶可見, 那么下一個(gè)生命狀態(tài)是 |
否 | onResume() 或 onStop() |
||
|
activity與用戶交互之前會(huì)被調(diào)用。 這時(shí)候activity處于棧頂。 下一個(gè)生命狀態(tài)是 |
否 | onPause() |
||
|
當(dāng)系統(tǒng)即將開始恢復(fù)另一個(gè)Acitivity時(shí)被調(diào)用。這個(gè)方法通常被用來存儲(chǔ)一些狀態(tài),播放activity的停止動(dòng)畫以及其他一些可能會(huì)消耗cpu資源的事情。 這個(gè)方法的運(yùn)行時(shí)間不宜過長(zhǎng),因?yàn)橹钡竭@個(gè)方法結(jié)束,下一個(gè)activity才會(huì)被調(diào)用。
如果activity恢復(fù)到前臺(tái),那么下一步就是 |
是 | onResume() 或 onStop() |
||
|
如果activity不再被用戶可見,就進(jìn)入這一狀態(tài)。這有可能發(fā)生在onDestroy()之前,或者另一個(gè)activity被回復(fù)并完全覆蓋了當(dāng)前activity。
如果activity又要與用戶產(chǎn)生交互,下一個(gè)生命狀態(tài)是 |
是 | onRestart()或 onDestroy() |
||
|
在activity銷毀之前調(diào)用。如果顯式調(diào)用 方法,也會(huì)進(jìn)入這種狀態(tài)。 |
是 | 無 |
||

一個(gè)acitivty設(shè)計(jì)到狀態(tài)保存的也就這兩種情況,第一個(gè)是不需要開發(fā)者主動(dòng)保存狀態(tài)(左),因?yàn)樗蜎]有被銷毀,另一種就需要主動(dòng)保存狀態(tài)了,它已經(jīng)被銷毀(右)。
在guide中也說得很明白 只要android:id設(shè)置了,框架會(huì)幫你存儲(chǔ)一些數(shù)據(jù)并恢復(fù)的。
posted on 2011-06-29 17:05 黑暗伯爵 閱讀(437) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)