想要充分發揮 WinRT & Windows Phone Universal App 效能,您一定要知道應用程式生命週期的相關知識,這裡,做個總結。當從App開始啟動後、到切換到不同的頁面、進入到 Suspend 模式下、重新回到App執行模式下等相關事件的執行順序。
當App在不同執行模式下運作,或者切換頁面的時候,您需要明確的掌握到那些事件會被執行,而且這些事件被呼叫的順序,如此,您方能夠有效的控制App的整體狀態與運作行為。
當App第一次啟動的時候,相關的事件呼叫順序
當App進入到 Suspended 模式下,相關事件的呼叫順序
使用者把App從 Suspended 模式下,切換為正在顯示的相關事件呼叫順序
使用者或者作業系統把 App 終止(例如使用者使用工作管理員強制關閉該App),相關事件呼叫順序
使用者從第一個頁面切換到第二個頁面的相關事件呼叫順序
使用者從第二個頁面回到第一個頁面的相關事件呼叫
使用者再次切換到第二個頁面的相關事件呼叫
App進入到 Suspended 模式下的相關事件呼叫(例如:切換到桌面環境中,或者其他App)
App從 Suspended模式下,回到正常運作模式下的相關事件呼叫
App進入到 Suspended 模式下並且被作業系統強制終止
當App在不同執行模式下運作,或者切換頁面的時候,您需要明確的掌握到那些事件會被執行,而且這些事件被呼叫的順序,如此,您方能夠有效的控制App的整體狀態與運作行為。
當App第一次啟動的時候,相關的事件呼叫順序
- App.OnLaunched 事件(也就是 PreviousExecutionState 為 Nothing)
- 第一個頁面.OnNavigatedTo 事件
- 第一個頁面.LoadState 事件
當App進入到 Suspended 模式下,相關事件的呼叫順序
- App.OnSuspending 事件
- 第一個頁面.OnNavigatedFrom 事件
- 第一個頁面.SaveState 事件
使用者把App從 Suspended 模式下,切換為正在顯示的相關事件呼叫順序
- App.OnResuming 事件
使用者或者作業系統把 App 終止(例如使用者使用工作管理員強制關閉該App),相關事件呼叫順序
- App.OnSuspending 事件
- 第一個頁面.OnNavigatedFrom 事件
- 第一個頁面.SaveState 事件
使用者從第一個頁面切換到第二個頁面的相關事件呼叫順序
- 第一個頁面.OnNavigatingFrom事件
- 第一個頁面.SaveState 事件
- 第一個頁面.OnNavigatedFrom 事件
- 第二個頁面.LoadState 事件
- 第二個頁面.OnNavigatedTo 事件
使用者從第二個頁面回到第一個頁面的相關事件呼叫
- 第二個頁面.OnNavigatingFrom事件
- 第二個頁面.SaveState 事件
- 第二個頁面.OnNavigatedFrom 事件
- 第一個頁面.LoadState 事件
- 第一個頁面.OnNavigatedTo 事件
使用者再次切換到第二個頁面的相關事件呼叫
- 第一個頁面.OnNavigatedFrom 事件
- 第一個頁面.OnNavigatingFrom事件
- 第一個頁面.SaveState 事件
- 第一個頁面.OnNavigatedFrom事件
- 第二個頁面.LoadState 事件
- 第二個頁面.OnNavigatedTo 事件
App進入到 Suspended 模式下的相關事件呼叫(例如:切換到桌面環境中,或者其他App)
- App.OnSuspending 事件
- 第二個頁面.SaveState 事件
- 第二個頁面.OnNavigatedFrom 事件
App從 Suspended模式下,回到正常運作模式下的相關事件呼叫
- App.OnResuming
App進入到 Suspended 模式下並且被作業系統強制終止
- App.OnSuspending 事件
- 第二個頁面.SaveState 事件
- 第二個頁面.OnNavigatedFrom 事件