有不同的概念,這裏涉及:
-the第一件事就是快速應用恢復它是Windows的一個新功能手機8,你可以啓用,這樣當你按下應用拼貼它沒有重新啓動應用程序,但保持相同的實例(默認情況下,它只會殺死應用程序,只是重新創建一個新的實例,就好像應用程序從未打開過)。你可以找到更多關於那個here的信息。
- 第二個概念是快速應用切換和墓碑。您可以找到有關應用程序生命週期here的更多信息。基本上,當你按下Windows按鈕或導航到另一個應用程序時,你的應用程序將進入休眠狀態。在此狀態下,應用程序未運行,但仍在內存中。當你回去時,因爲一切都在記憶中,所以一切都應該保持原樣。在快速應用切換的情況下處理的主要情況是,當您的應用停用時,所有的網絡連接都會被終止,因此您應該確保當您返回時不顯示任何Web錯誤消息對話框,並且您重做任何失敗的網絡請求。
您的應用程序的第二種可能狀態是,應用程序處於休眠狀態後,您打開了幾個應用程序,並且該設備沒有足夠的內存,那麼它將選擇邏輯刪除您的應用程序。在該狀態下,您的應用程序將從內存中刪除,因此您沒有保存的任何內容都將丟失。當你回到你的應用程序時,它會回到用戶以前的頁面並重新創建它。
這意味着處理程序之前,這種情況下,關閉你應該有:
- 保存您可能沒有被路過的導航參數任何上下文特定的數據。
- 也許保存用戶目前正在做的事情(例如,如果他當前正在輸入一個長文本,最好保存它以便用戶不必從頭開始重新輸入)
- 保存當前滾動位置或類似選定項目的東西可能是一個加號
此外,當應用程序恢復時,您必須確保您重新查詢所需的所有信息。如果您在主頁面的OnNavigatedTo中加載一些數據(例如來自Web服務器),然後僅在詳細信息頁面上重新使用數據而不重新查詢它,則會中斷一個示例。如果你在詳細信息頁面,按開始按鈕,然後做一些其他的應用程序tombstonne,當你回到應用程序比數據將無法使用(因爲內存已被「清除」和onNavigatedTo的主頁沒有被調用,因爲它會直接導航回到詳細頁面)。
您可以使用page state and application state來保存正確處理墓碑案例所需的任何信息。基本上有一些字典可以添加一些將被序列化的對象(所以你需要確保你試圖保存的任何對象都是可序列化的),當應用程序被停用時會自動進行序列化。
要輕鬆測試Tombtonning案例,您可以在項目屬性中的Debug選項卡中選中複選框「在調試時取消激活時爲Tombstone」。像這樣,當你調試並按下windows按鈕或轉到另一個應用程序時,它總是會將應用程序劃掉。要檢查它是否真的是墓碑,當您返回時,您應該會看到您的應用程序顯示了幾秒鐘的恢復屏幕(而在墓碑案中,它幾乎是瞬間的)。
這正是FAS設計用於防止的原因。 –
例如打開諾基亞在這裏驅動器,然後選擇一個位置,然後開始導航。現在點擊主頁按鈕。現在點擊平鋪並打開應用程序。諾基亞在這裏驅動器不重新啓動。它使用墓碑狀態FAS或快速應用程序切換回你的應用 –
啊,好的,對不起,它的wp8功能我只用wp7 –