0

好吧,這是迄今爲止我所知道的Windows Phone 7.1應用程序生命週期,但我仍然有幾個問題。WP7應用程序生命週期

應用程序啓動 - 在應用程序啓動時調用,然後繼續初始化App,然後進入MainPage。

Applicaiton Deactivated - 當應用程序變爲休眠狀態(正在運行但用戶未使用它)時調用。這會調用當前頁面的OnNavigatedFrom方法,然後移動到App類中的ApplicationDeactivated方法。一旦應用程序處於休眠狀態,如果操作系統需要更多內存,它可能會變爲邏輯刪除。

應用激活 - 當應用出來休眠或邏輯刪除狀態的調用,您可以撥打IsApplicationInstancePreserved找出哪些(真意味着處於休眠狀態,因此狀態被保留)。一旦這被稱爲它將移動到OnNavigatedTo。

應用關閉 - 當用戶向後導航通過第一頁並退出應用程序時調用。 OnNavigatedFrom方法(在第一頁)也會被調用。

所以我的問題主要與當ApplicationActivated方法被調用時初始化的內容有關。

- 如果應用程序不是墓碑式的,那麼您需要做什麼來初始化應用程序,或者操作系統是否恢復一切,回到原來的樣子?構造函數甚至要求它正在導航到的頁面還是被凍結的一切?

- 如果應用程序WAS Tombstoned的頁面構造函數被調用? (我假設,因爲沒有保存)。如果頁面構造函數被調用,那麼第一次導航到此頁面並從墓碑狀態返回時有什麼區別?

回答

1

糾正我,如果我錯了,但這裏是我提出的問題的答案。

- 當應用程序被激活並且未被邏輯刪除時,只有最後一頁的OnNavigatingTo方法被調用(無頁面構造函數)。由於應用程序狀態已被保存,我不認爲在這種情況下您需要做任何事情。

- 當應用程序被邏輯刪除時,您需要保存您可能需要重新加載的任何頁面數據,因爲頁面上的所有內容都會丟失,並且再次激活時,頁面構造函數會在OnNavigatedTo方法之前調用。

希望這可以幫助任何人在未來有類似的問題....

2

這些都是你可以測試自己的事情。在應用程序項目的屬性下,當您離開應用程序時,您可以啓用邏輯刪除。該設置位於「調試」選項卡下。

相關問題