Condividi tramite


Come attivare eventi di sospensione, ripresa e background nelle app di Windows Store

Quando non esegui il debug, Windows Process Lifecycle Management (PLM) controlla lo stato di esecuzione dell'app, cioè avvio, sospensione, ripresa e terminazione, in risposta alle azioni dell'utente e allo stato del dispositivo. Quando esegui il debug, Windows disabilita questi eventi di attivazione. In questo argomento viene descritto come generare tali eventi nel debugger.

Viene inoltre descritto come eseguire il debug di attività in background. Le attività in background consentono di eseguire determinate operazioni in un processo in background, anche quando l'app non è in esecuzione. Puoi utilizzare il debugger per attivare la modalità di debug dell'app, quindi avviare l'attività in background ed eseguire il debug, senza avviare l'interfaccia utente.

Per ulteriori informazioni su Process Lifecycle Management e le attività in background, vedi Launching, resuming, and multitasking.

In questo argomento

Trigger Process Lifecycle Management events

Trigger background tasks

  • Trigger a background task event from a standard debug session

  • Trigger a background task when the app is not running

Trigger Process Lifetime Management events and background tasks from an installed app

Diagnosing background task activation errors

Attivare gli eventi di Process Lifecycle Management

Windows può sospendere l'app quando l'utente passa a un'altra visualizzazione o quando viene attivata la modalità basso consumo. Puoi rispondere all'evento Suspending per salvare i dati utente e dell'app rilevanti in un archivio permanente e per liberare risorse. Quando un'app viene riattivata dallo stato Sospeso, passa allo stato In esecuzione e continua dal punto in cui si trovava al momento della sospensione. Puoi rispondere all'evento Resuming per ripristinare o aggiornare lo stato dell'app e recuperare le risorse.

Anche se Windows tenta di mantenere in memoria quante più app sospese possibile, può terminare un'app se non sono disponibili risorse sufficienti per mantenerla in memoria. Un utente può anche chiudere in modo esplicito l'app. Non esiste un evento speciale per indicare che l'utente ha chiuso un'app.

Nel debugger di Visual Studio, puoi sospendere, riprendere e terminare manualmente le app per eseguire il debug degli eventi relativi al ciclo di vita di elaborazione. Per eseguire il debug di un evento relativo al ciclo di vita di elaborazione:

  1. Imposta un punto di interruzione nel gestore dell'evento di cui vuoi eseguire il debug.

  2. Premi F5 per avviare il debug.

  3. Sulla barra degli strumenti Posizione di debug scegli l'evento da generare:

    Sospensione, ripresa, fine e attività in background

    Nota che Sospendi e termina chiude l'app e termina la sessione di debug.

Attivare attività in background

Qualsiasi app può registrare un'attività in background per rispondere a determinati eventi di sistema, anche quando l'app non è in esecuzione. Le attività in background non possono eseguire codice che aggiorna direttamente l'interfaccia utente. Visualizzano invece informazioni all'utente con aggiornamenti di riquadri, aggiornamenti di notifiche e notifiche di tipo avviso popup. Per ulteriori informazioni, vedi Supporting your app with background tasks.

Puoi attivare eventi che avviano attività in background per l'app dal debugger.

Nota

Il debugger può attivare solo gli eventi che non contengono dati, come gli eventi che segnalano una modifica dello stato del dispositivo. Devi attivare manualmente le attività in background che richiedono l'input dell'utente o altri dati.

Il modo più realistico di generare un evento di attività in background si verifica quando l'app non è in esecuzione. È tuttavia supportata anche l'attivazione dell'evento in una sessione di debug standard.

Hh974425.collapse_all(it-it,VS.110).gifAttivare un evento di attività in background da una sessione di debug standard

  1. Imposta un punto di interruzione nel codice dell'attività in background di cui desideri eseguire il debug.

  2. Premi F5 per avviare il debug.

  3. Dall'elenco degli eventi sulla barra degli strumenti Posizione di debug scegli l'attività in background che vuoi avviare.

    Sospensione, ripresa, fine e attività in background

Hh974425.collapse_all(it-it,VS.110).gifAttivare un'attività in background quando l'app non è in esecuzione

  1. Imposta un punto di interruzione nel codice dell'attività in background di cui desideri eseguire il debug.

  2. Apri la pagina delle proprietà di debug per il progetto di avvio. Seleziona il progetto in Esplora soluzioni. Scegli Proprietà dal menu Debug.

    Per i progetti C++, potresti dover espandere Proprietà di configurazione e quindi scegliere Debug.

  3. Effettua una delle seguenti operazioni:

    • Per i progetti Visual C# e Visual Basic, scegli Non eseguire il codice utente, ma eseguine il debug all'avvio.

      Proprietà avvio applicazione debug C#/VB

    • Per i progetti JavaScript e Visual C++ scegli No dall'elenco Avvia applicazione.

      Proprietà di debug avvio applicazione C++/VB

  4. Premi F5 per mettere l'app in modalità debug. Nota che nell'elenco Processo sulla barra degli strumenti Posizione di debug è visualizzato il nome del pacchetto dell'app per indicare che sei in modalità debug.

    Elenco dei processi attività in background

  5. Dall'elenco degli eventi sulla barra degli strumenti Posizione di debug scegli l'attività in background che vuoi avviare.

    Sospensione, ripresa, fine e attività in background

Attivare gli eventi di Process Lifecycle Management e le attività in background da un'app installata

Utilizza la finestra di dialogo Debug pacchetto applicazione installato per caricare un'app già installata nel debugger. Ad esempio, è possibile eseguire il debug di un'app installata da Windows Store oppure eseguirlo quando disponi dei file di origine dell'app, ma non di un progetto di Visual Studio per l'app. La finestra di dialogo Debug pacchetto applicazione installato ti consente di avviare un'app in modalità debug nel computer Visual Studio o in un dispositivo remoto oppure impostare l'app per l'esecuzione in modalità debug, senza avviarla. Per ulteriori informazioni, vedi la sezione Avviare un'app installata nel debugger nelle versioni per JavaScript o Visual C++, Visual C# e Visual Basic di Come avviare una sessione di debug.

Una volta caricata l'app nel debugger, puoi utilizzare una qualsiasi tra le procedure descritte sopra.

Diagnostica degli errori di attivazione di attività in background

I log di diagnostica nel visualizzatore eventi di Windows per l'infrastruttura in background includono informazioni dettagliate che puoi utilizzare per diagnosticare e risolvere gli errori delle attività in background. Per visualizzare il log:

  1. Aprire l'app Visualizzatore eventi.

  2. Nel riquadro Azioni scegli Visualizza e verificare che Visualizza registri analitici e di debug sia selezionata.

  3. Nell'albero Visualizzatore eventi (locale) espandi i nodi Microsoft, Windows, quindi BackgroundTasksInfrastructure.

  4. Scegli il log Diagnostica.

Vedere anche

Concetti

Debug di app di Windows Store

Altre risorse

Debug e test di app di Windows Store

Application lifecycle

Launching, resuming, and multitasking