2012-06-24 16 views
15

I modelli di progetto C# "Metro style" predefiniti di VS2012 includono il codice in App.xaml.cs (nell'override OnLaunched) per ripristinare lo stato dell'applicazione dopo un suspend-and-terminate. Questo codice viene eseguito solo quando LaunchActivatedEventArgs.PreviousExecutionState è Terminated, ad esempio "L'app è stata chiusa dopo essere stata sospesa."Come posso simulare la chiusura della mia app Metro?

Come posso forzare la sospensione e la sospensione della mia app, così posso testare questa funzionalità di sospensione/ripresa nella mia app?

Le cose che ho provato che non funzionano:

  • Se uso il gesto "Chiudi app" (trascina dalla parte superiore dello schermo verso il basso), quindi il prossimo del PreviousExecutionState run è ClosedByUser .
  • Se si interrompe l'app, utilizzando Task Manager o (se si eseguiva il debug) con il pulsante "stop" sulla barra degli strumenti VS, il numero della successiva è . Questo è vero anche se Task Manager mostrava l'app come "Sospesa" prima di terminare l'attività, quindi è chiaramente più sfumata della descrizione di "terminata dopo essere stata sospesa".
  • Penso che potrei semplicemente passare dalla mia app e quindi aprire molte altre app in stile Metro fino a quando la mia app alla fine verrà espulsa. Ma anche se apro ogni singola app in stile Metro fornita con Windows 8 Release Preview, apparentemente non c'è abbastanza pressione per far terminare la mia app a Windows. (Suppongo che Windows abbia meno probabilità di terminare un'app in fase di debug, quindi ho lanciato la mia app dalla schermata Start - nessun debugger - prima di provarlo.)

Sembra che, se Passo alla mia app e digito in una finestra di StackOverflow per diversi minuti, che alla fine la mia app verrà terminata, quindi forse c'è un componente basato sul tempo. Ma se devo aspettare cinque o dieci minuti ogni volta che la mia app termina, è un ciclo di test piuttosto lento.

Dato che questo è qualcosa che gli sviluppatori dovranno testare, si potrebbe pensare che ci sarebbe un modo semplice e facile per uno sviluppatore di forzare un'applicazione e sospenderla. Esiste una specie di app per il test dello stress che viene fornita con Visual Studio che imporrà una pressione di memoria sufficiente? C'è qualche voce di menu in Visual Studio che forzerà la chiusura della mia app? Come dovremmo testarlo?

+0

Se si desidera continuare a testare il comportamento di essere l'applicazione "buttato fuori", si può sempre creare applicazioni mondo 3 o 4 hello che allocano "memoria sufficiente" per ottenere il tuo sistema non ha risorse sufficienti. – yms

risposta

27

In Visual Studio 2012, quando si esegue il debug, sono presenti i pulsanti "Suspend", "Resume" e "Suspend and Shutdown". Per impostazione predefinita, dovresti vedere i pulsanti mentre esegui il debug della tua app. Vedi this article per maggiori informazioni sul ciclo di vita del processo di debug.

enter image description here

+1

Non posso credere a quante volte l'ho guardato e non l'ho visto. Era nella * seconda fila * di barre degli strumenti, e per qualche ragione il mio occhio continuava a saltare oltre l'intera seconda riga, anche con lo screenshot da cui partire. Indovina il lato negativo del nuovo look "chromeless": nessun suggerimento visivo per suggerire che c'è di più da guardare. –

+0

@JoeWhite Accetto ... Sto imparando lentamente anche la nuova interfaccia. Ci vuole tempo per trovare il pulsante che sapevo esattamente dove erano prima. :) –

+7

Per coloro che si chiedono come visualizzare questa barra degli strumenti, andare a Visualizza -> Barra degli strumenti -> Posizione di debug. – Ucodia

6

ho avuto difficoltà a trovare il controllo di sospensione a causa VS non stava mostrando una seconda fila di barre degli strumenti per me. Come risulta, questo è nella barra degli strumenti "Debug Location". Assicurati di avere questa barra degli strumenti accesa e quindi dovresti essere in grado di trovare il controllo Suspend (e funziona per risolvere il problema dell'OP).

3

Se non mostrano di default, andare in Strumenti -> Personalizza, e sotto la scheda Barre degli strumenti, selezionare la casella che dice "Debug Location"

Problemi correlati