2011-06-05 18 views
6

Tengo un método de guardar configuraciones al que llamo, pero intenté descargar, y perdí el foco, la aplicación se cerrará y no se guardará antes de llegar a cualquiera de esos métodos. ¿Cuándo debo guardar la configuración de la aplicación para evitar que esto suceda?¿Cuándo debo guardar la configuración en Windows Phone 7?

¿Debo usar un temporizador y guardarlo cada 30 segundos, o qué?

+0

¿Has visto/leído el tutorial thombstoning? –

Respuesta

10

La frecuencia con la que ahorra depende de su aplicación. Sin embargo, los tiempos de clave son:

  • Lanzamiento
  • Activado
  • desactivado
  • Cierre

Launching se llama cuando la aplicación se inicia por primera vez de la pantalla principal y Closing se llama cuando el usuario presiona la tecla Atrás para salir de tu aplicación. Naturalmente, lo más probable es que desee guardar datos permanentes en el evento Closing.

Activated se llama cuando el usuario ha cerrado su aplicación a través del botón Windows y ha vuelto a presionar el botón Atrás. Esto no se llama si el usuario inicia la aplicación por primera vez.

Del mismo modo, se llama al evento Deactivated cuando el usuario presiona el botón Windows. Dependiendo de su aplicación, querrá guardar los datos transitorios en este punto para que cuando se restaure pueda dar la sensación de que su aplicación no se cerró. (De lo contrario, por ejemplo, todos los cuadros de texto se vacían incluso si el usuario ingresó datos antes de presionar el botón Windows).

Esos son los eventos principales, por lo que puede diseñar su aplicación alrededor de eso. Una cosa para recordar es que si tus archivos guardados van a ser grandes y tardan más de 10 seconds en guardarse después de que se llame al evento closing, tu aplicación se cerrará inmediatamente, lo que podría corromper el archivo guardado. Por lo tanto, para guardar archivos grandes, debe planificar anticipadamente guardando incrementalmente (por ejemplo, después de que el usuario haya realizado un cambio que debería permanecer permanente).

No existe una solución one size fits all ya que los tiempos de guardado dependen en gran medida del tipo de aplicación que se desarrolle. Lea el Execution Model MSDN Page, ya que entra en más detalles y proporciona ejemplos de código.

+0

Gracias que ayudaron mucho. – Eric

+1

@Eric - De nada. Con respecto a Tombstoning, puedes ver Tombstone Helper en CodePlex: http://tombstonehelper.codeplex.com/ – keyboardP