wp應用程序總體的狀態包括:
前臺運行----->休眠------>邏輯刪除------->程序終止
前臺運行----->程序終止
術語:
向前導航: 從已安裝列表、“開始”磁貼、點Toast通知啓動應用程序,
該程序爲一個新的應用程序實例。
打開新的頁面,該頁面爲一個新的頁面實例。
向後導航: 按硬件“返回”或者向後導航之前運行過的應用程序頁面,
該頁面爲一個已經存在的實例。
應用程序狀態:應用程序的狀態。
應用程序事件:Launching、Deactivated、Activated、Closing事件,
保存在Application對象中。
Launching:啓動新的應用程序,新應用程序實例。
Deactivated:導航出應用程序、
按“開始”或啓動其他應用程序時,
或者鎖定屏幕時(未禁用應用程序空閒檢測)。
Activated: 從休眠狀態或者邏輯刪除狀態返回,
或者第一次運行,
通過IsApplicationInstancePreserved屬性判斷是從
休眠狀態還是從邏輯刪除狀態返回。
爲true:從休眠狀態;
爲false:從邏輯刪除狀態。
Closing: 關閉應用程序時觸發。
頁面狀態: 頁面的狀態。
頁面事件:OnNavigateTo、OnNavigateFrom事件,
保存在PhoneApplicationPage對象中。
OnNavigateTo:導航到頁面時觸發。
OnNavigateFrom:導航離開時觸發。
休眠: 導航出應用程序(尚未關閉),引發Deactivated事件,
應用程序處於休眠狀態,
所以線程將停止。應用程序仍然完好的保留在內存中。
邏輯刪除:內存不夠時,操作系統將邏輯刪除休眠的程序。
該程序將終止,應用程序的導航信息將保留。
應用程序狀態保留:在用戶未關閉應用程序,離開並再次返回後,
應該保持該程序狀態, 如果該程序是從休眠狀態返回,
則其狀態將自動保持,如果該程序是從邏輯刪除
狀態返回,則需要從狀態字典中讀取狀態,
因此也需要在離開該程序時,將狀態保存到狀態字典中。
即:
在Deactivated時,將狀態保存到State裏;
在Activated時,將狀態從State裏讀取出來。
注:State爲PhoneApplicationService屬性。
頁面狀態保留:類似應用程序狀態保留,
即:
在OnNavigatedFrom時保存到State裏;
在OnNavigatedTo時從State裏讀取。
注:該State爲PhoneApplicationPage中的屬性。