Windows Phone開發(fā)之墓碑化
名稱 說明
Launched 啟動(dòng)新程序的啟動(dòng)
Closed 通過Back按鍵關(guān)閉程序
Deactivated 一個(gè)正在程序運(yùn)行,此時(shí)按start鍵,程序停用,此后進(jìn)入墓碑化
Activated 程序從墓碑化復(fù)活,即激活
那么我們程序的生命周期也就大致顯示出來了:
生命周期的描述:當(dāng)我們在start頁面運(yùn)行一個(gè)程序A時(shí),此時(shí)程序A 進(jìn)入啟動(dòng)(Launched)階段,啟動(dòng)完成之后,程序一般會(huì)相當(dāng)長的時(shí)間處于running狀態(tài),如果此時(shí)你按Back鍵,則直接進(jìn)入Closed狀態(tài),還有就是在運(yùn)行過程中有突發(fā)事件,比如來電話,來信息,或者你需要運(yùn)行程序B,你就按Start鍵,在按Start鍵的時(shí)候處于 Deactivated狀態(tài),然后在運(yùn)行程序B的過程中,程序A一直處于Tombstoning墓碑化狀態(tài)(除非你從Start頁重新啟用程序A的新實(shí) 例),在操作程序B的過程中你如果長按Back鍵,系統(tǒng)會(huì)調(diào)出卡片式任務(wù)管理器,里面就會(huì)包含程序A,程序B,Start頁面,如果點(diǎn)擊程序A,此時(shí)程序A就會(huì)被激活,進(jìn)入運(yùn)行狀態(tài),之至改程序被關(guān)閉,程序A的生命周期就完成了;
在App.xaml.cs文件中可以找到改變這幾個(gè)狀態(tài)時(shí)所觸發(fā)的事件,事件里面有注解就不在詳細(xì)說明了
View Code
- // 應(yīng)用程序啟動(dòng)(例如,從“開始”菜單啟動(dòng))時(shí)執(zhí)行的代碼
- // 此代碼在重新激活應(yīng)用程序時(shí)不執(zhí)行
- private void Application_Launching(object sender, LaunchingEventArgs e)
- {
- //可以從獨(dú)立存儲(chǔ)空間讀取資料進(jìn)行初始化
- }
- // 激活應(yīng)用程序(置于前臺(tái))時(shí)執(zhí)行的代碼
- // 此代碼在***啟動(dòng)應(yīng)用程序時(shí)不執(zhí)行
- private void Application_Activated(object sender, ActivatedEventArgs e)
- {
- //可以恢復(fù)臨時(shí)數(shù)據(jù)
- }
- // 停用應(yīng)用程序(發(fā)送到后臺(tái))時(shí)執(zhí)行的代碼
- // 此代碼在應(yīng)用程序關(guān)閉時(shí)不執(zhí)行
- private void Application_Deactivated(object sender, DeactivatedEventArgs e)
- {
- //存儲(chǔ)臨時(shí)數(shù)據(jù),以便用戶從墓碑化狀態(tài)激活
- }
- // 應(yīng)用程序關(guān)閉(例如,用戶點(diǎn)擊“后退”)時(shí)執(zhí)行的代碼
- // 此代碼在停用應(yīng)用程序時(shí)不執(zhí)行
- private void Application_Closing(object sender, ClosingEventArgs e)
- {
- //程序按Back鍵時(shí),可以存儲(chǔ)到獨(dú)立存儲(chǔ)空間
- }