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?
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