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.
¿Has visto/leído el tutorial thombstoning? –