2011-06-05 17 views
6

Mam metodę zapisywania ustawień, którą wywołuję, ale próbowałem rozładować i straciłem fokus, aplikacja zamknie się i nie zapisze, zanim przejdzie do którejś z tych metod. Kiedy należy zapisać ustawienia aplikacji, aby tego uniknąć?Kiedy należy zapisać ustawienia w systemie Windows Phone 7?

Czy powinienem używać timera i zapisywać co 30 sekund, czy co?

+0

Czy widzisz/czytasz samouczek? –

Odpowiedz

10

To, jak często oszczędzasz, zależy od Twojej aplikacji. Jednak najważniejsze czasy są:

  • Uruchomienie
  • Activated
  • dezaktywowane
  • Zamykanie

Launching jest wywoływana, gdy aplikacja jest pierwszym uruchomieniu z ekranu głównego i Closing jest wywoływana, gdy użytkownik naciska klawisz powrotu, aby opuścić aplikację. Oczywiście najprawdopodobniej będziesz chciał zapisać trwałe dane w wydarzeniu Closing.

Activated jest wywoływana, gdy użytkownik zamknął aplikację za pomocą przycisku Windows i wrócił do niej, naciskając przycisk Wstecz. Nie zostanie to wywołane, jeśli użytkownik uruchomi aplikację po raz pierwszy.

Podobnie, zdarzenie Deactivated jest wywoływane, gdy użytkownik naciśnie przycisk Windows. W zależności od aplikacji będziesz chciał zapisać chwilowe dane przejściowe, aby po przywróceniu dać iluzję, że Twoja aplikacja nie została w ogóle zamknięta. (W przeciwnym razie na przykład wszystkie pola tekstowe staną się puste, nawet jeśli użytkownik wprowadził dane przed naciśnięciem przycisku Windows).

To są główne wydarzenia, dzięki którym możesz zaprojektować swoją aplikację. Należy pamiętać, że jeśli twoje pliki zapisu będą duże, a ich zapisanie zajmie więcej niż 10 seconds po wywołaniu zdarzenia closing, Twoja aplikacja zostanie natychmiast zamknięta, co może spowodować uszkodzenie pliku składowania. Dlatego w przypadku dużych plików zapisanych należy planować z wyprzedzeniem, zapisując przyrostowo (na przykład po wprowadzeniu przez użytkownika zmiany, która powinna pozostać na stałe).

Nie ma rozwiązania tego problemu, ponieważ czasy zapisywania są w dużym stopniu zależne od rodzaju tworzonej aplikacji. Czytanie z Execution Model MSDN Page, jak to idzie bardziej szczegółowo i dostarcza przykładów kodu.

+0

Dzięki, które bardzo pomogły. – Eric

+1

@Eric - Nie ma za co. Jeśli chodzi o Tombstoning, możesz sprawdzić Tombstone Helper na CodePlex: http://tombstonehelper.codeplex.com/ – keyboardP

Powiązane problemy