2012-06-24 9 views
15

Las plantillas de proyecto "estilo Metro" predeterminadas de C# de VS2012 incluyen código en App.xaml.cs (en el reemplazo OnLaunched) para restaurar el estado de la aplicación después de suspender y terminar. Este código solo se ejecuta cuando LaunchActivatedEventArgs.PreviousExecutionState es Terminated, es decir, "La aplicación finalizó después de suspenderse".¿Cómo puedo simular que se termine mi aplicación Metro?

¿Cómo puedo forzar la suspensión y finalización de mi aplicación, por lo que puedo probar esta funcionalidad de suspensión/reanudación en mi aplicación?

cosas I han intentado que no funcionan:

  • Si utilizo el gesto "cerrar aplicación" (arrastrar desde la parte superior de la pantalla hasta la parte inferior), a continuación de la siguiente ejecución PreviousExecutionState es ClosedByUser .
  • Si elimino la aplicación, ya sea usando el Administrador de tareas o (si estaba depurando) con el botón "detener" en la barra de herramientas VS - entonces la próxima ejecución es PreviousExecutionState es NotRunning. Esto es cierto incluso si el Administrador de tareas mostró la aplicación como "Suspendida" antes de que finalizara la tarea, por lo que está más matizada que la descripción de "finalizado después de ser suspendido".
  • Usted piensa Podría cambiar de mi aplicación, y luego abrir muchas otras aplicaciones de estilo Metro hasta que finalmente mi aplicación sea expulsada. Pero incluso si abro todas las aplicaciones de estilo Metro que vienen con Windows 8 Release Preview, aparentemente eso no es suficiente presión de memoria para que Windows finalice mi aplicación. (Supongo que sería menos probable que Windows termine una aplicación que se estaba depurando, así que inicié mi aplicación desde la pantalla de inicio - sin depuración - antes de probar esto.)

Parece que, si Me desconecto de mi aplicación y escribo en una ventana de StackOverflow durante varios minutos, que finalmente terminará mi aplicación, por lo que tal vez haya un componente basado en el tiempo. Pero si tengo que esperar cinco o diez minutos cada vez que mi aplicación finaliza, ese es un ciclo de prueba bastante lento.

Teniendo en cuenta que esto es algo que los desarrolladores tendrán que probar, se podría pensar que habría una forma sencilla y agradable para que un desarrollador fuerce la suspensión y terminación de una aplicación. ¿Existe algún tipo de aplicación de prueba de estrés que acompañe a Visual Studio que forzará la presión de memoria suficiente? ¿Hay algún elemento del menú en Visual Studio que obligue a la finalización de mi aplicación? ¿Cómo se supone que probemos esto?

+0

Si todavía quiere probar el comportamiento de ser la aplicación "expulsado", siempre se puede crear aplicaciones mundo 3 o 4 hola que asignan "hay suficiente memoria" para obtener su sistema tiene pocos recursos. – yms

Respuesta

27

En Visual Studio 2012, cuando está depurando, hay botones "Suspender", "Reanudar" y "Suspender y apagar". De forma predeterminada, debería ver los botones mientras depura su aplicación. Consulte this article para obtener más información sobre el ciclo de vida del proceso de depuración.

enter image description here

+1

No puedo creer cuántas veces miré eso y no lo vi. Estaba en la * segunda fila * de barras de herramientas, y por alguna razón mi ojo siguió saltando a la derecha toda la segunda fila, incluso con la captura de pantalla para ir. Adivina que esa es la desventaja de la nueva apariencia "sin cromo": no hay señales visuales que sugieran que hay más que mirar. –

+0

@JoeWhite De acuerdo ... poco a poco estoy aprendiendo la nueva interfaz. Lleva tiempo encontrar el botón que sabía exactamente dónde estaban antes. :) –

+7

Para aquellos que se preguntan cómo mostrar esta barra de herramientas, ve a Ver -> Barra de herramientas -> Ubicación de depuración. – Ucodia

6

tuve problemas para encontrar el control de suspensión debido a VS no estaba mostrando una segunda fila de barras de herramientas para mí. Como resultado, esto está en la barra de herramientas "Ubicación de depuración". Asegúrese de tener esta barra de herramientas activada y luego debería poder encontrar el control Suspend (y funciona para resolver el problema del OP).

3

Si no se muestran de forma predeterminada, vaya a Herramientas -> Personalizar, y bajo la ficha Barras de herramientas, active la casilla que dice "Depuración ubicación"

Cuestiones relacionadas