Snapshot

Uno snapshot è un'immagine archiviata di un dispositivo virtuale Android (AVD) che conserva l'intero stato del dispositivo al momento del salvataggio, inclusi le impostazioni del sistema operativo, lo stato dell'applicazione e i dati utente. Puoi tornare a uno stato del sistema salvato caricando uno snapshot. In questo modo, non dovrai attendere il riavvio del sistema operativo e delle applicazioni sul dispositivo virtuale e non dovrai più riportarla allo stato in cui vuoi riprendere i test. Avviare un dispositivo virtuale caricando uno snapshot è un po' come riattivare un dispositivo fisico da uno stato di sospensione, anziché avviarlo da uno stato spento.

Per ogni durata di visualizzazione media, puoi avere un'istantanea di Avvio rapido e un numero qualsiasi di snapshot generali.

Il modo più semplice per sfruttare gli snapshot è utilizzare un'istantanea di Avvio rapido. Per impostazione predefinita, ogni durata di visualizzazione media è impostata in modo da salvare automaticamente un'istantanea di Avvio rapido all'uscita e carica da un'istantanea di Avvio rapido all'avvio.

La prima volta che si avvia una durata di visualizzazione media, è necessario eseguire un avvio a freddo, proprio come quando si accende un dispositivo. Se l'opzione Avvio rapido è abilitata, tutti i successivi avvii vengono caricati dallo snapshot specificato e il sistema viene ripristinato allo stato salvato nello snapshot.

Gli snapshot sono validi per le funzionalità dell'immagine di sistema, della configurazione AVD e dell'emulatore in cui vengono salvati. Quando apporti una modifica in una di queste aree, tutti gli snapshot della durata di visualizzazione media interessata non sono più validi. Qualsiasi aggiornamento delle impostazioni di Android Emulator, immagine di sistema o AVD reimposta lo stato salvato della durata di visualizzazione dei dati, quindi la prossima volta che avvii la durata di visualizzazione media, sarà necessario eseguire un avvio a freddo.

La maggior parte dei controlli per il salvataggio, il caricamento e la gestione degli snapshot si trova nelle schede Snapshot e Impostazioni nel riquadro Snapshot. Se esegui l'emulatore in una finestra dello strumento in Android Studio, il pulsante del riquadro Snapshot si trova nella barra degli strumenti dell'emulatore. Se esegui l'emulatore in una finestra autonoma esterna ad Android Studio, il riquadro Snapshot si trova nella finestra Controlli estesi.

Puoi controllare le opzioni di Avvio rapido anche quando avvii l'emulatore dalla riga di comando.

Salvare le istantanee dell'Avvio rapido

Puoi specificare se l'emulatore salva automaticamente uno snapshot alla chiusura. Per controllare questo comportamento, procedi come segue:

  1. Apri le impostazioni degli snapshot. Se l'emulatore è incorporato in Android Studio, fai clic su Snapshot nella barra degli strumenti. Se l'emulatore si trova in una finestra separata, apri la finestra Controlli estesi.
  2. Nella categoria di controlli Snapshot, vai alla scheda Impostazioni.
  3. Utilizza il menu Salva automaticamente lo stato corrente in Avvio rapido per selezionare una delle seguenti opzioni:

    • : salva sempre un'istantanea AVD quando chiudi l'emulatore. Questa è l'impostazione predefinita.

    • No: non salvare un'istantanea AVD quando chiudi l'emulatore.

La tua selezione si applica solo alla durata di visualizzazione media attualmente aperta. Non puoi salvare gli snapshot mentre ADB è offline (ad esempio mentre la durata di visualizzazione media è ancora in fase di avvio).

Salvare snapshot generali

Sebbene sia possibile avere un solo snapshot di Avvio rapido per ogni durata di visualizzazione media, puoi disporre di più snapshot generali per ogni durata di visualizzazione media.

Per salvare un'istantanea generale, apri il riquadro Istantanee e fai clic sul pulsante Scatta istantanea nell'angolo in basso a destra.

Per modificare il nome e la descrizione dello snapshot selezionato, fai clic sul pulsante Modifica nella parte inferiore del riquadro.

Elimina uno snapshot

Per eliminare manualmente uno snapshot, apri il riquadro Snapshot, seleziona lo snapshot e fai clic sul pulsante Elimina nella parte inferiore del riquadro.

Puoi anche specificare se vuoi che l'emulatore elimini automaticamente gli snapshot quando non sono più validi, ad esempio quando le impostazioni AVD o la versione dell'emulatore cambiano. Per impostazione predefinita, l'emulatore ti chiede se vuoi che elimini gli snapshot non validi. Puoi modificare questa impostazione con il menu Elimina snapshot non validi nella scheda Impostazioni del riquadro Snapshot.

Carica uno snapshot

Per caricare uno snapshot in qualsiasi momento, apri il riquadro Snapshot dell'emulatore, seleziona la categoria Snapshot, scegli uno snapshot e fai clic sul pulsante Carica nella parte inferiore del riquadro.

In Android Studio 3.2 e versioni successive, ogni configurazione dispositivo include un controllo Opzione di avvio nelle impostazioni avanzate della finestra di dialogo Configurazione dispositivo virtuale. Puoi utilizzare il controllo per specificare lo snapshot da caricare all'avvio della durata di visualizzazione media.

Disattiva Avvio rapido

Se vuoi disattivare Avvio rapido in modo che la modalità AVD esegua sempre un avvio a freddo, procedi nel seguente modo:

  1. Seleziona Strumenti > Gestione dispositivi e fai clic su Modifica questa durata di visualizzazione media .
  2. Fai clic su Mostra impostazioni avanzate e scorri verso il basso fino a Prestazioni emulate.
  3. Seleziona Avvio a freddo.

Avvio a freddo una volta

Anziché disattivare completamente Avvio rapido, puoi eseguire l'avvio a freddo una sola volta facendo clic su Cold Boot Now dal menu di AVD in Gestione dispositivi.

Requisiti per gli snapshot e risoluzione dei problemi

  • Gli snapshot non funzionano con Android 4.0.4 (livello API 15) o versioni precedenti.
  • Gli snapshot non funzionano con le immagini di sistema ARM per Android 8.0 (livello API 26).
  • Se l'emulatore non si avvia da uno snapshot, seleziona Cold Boot Now per la durata di visualizzazione media in Gestione dispositivi e invia una segnalazione di bug.
  • Gli snapshot non sono affidabili quando è attivo il rendering software. Se gli snapshot non funzionano, fai clic su Modifica questa durata di visualizzazione (AVD) in Gestione dispositivi e imposta Elementi grafici su Hardware o Automatico.
  • Il caricamento o il salvataggio di uno snapshot richiede un'operazione che richiede molta memoria. Se non hai abbastanza RAM quando inizia un'operazione di caricamento o salvataggio, il sistema operativo potrebbe scambiare i contenuti della RAM sul disco rigido, rallentando notevolmente l'operazione. Se si verificano caricamenti o salvataggi molto lenti, potresti riuscire a velocizzare queste operazioni liberando RAM. Chiudere le applicazioni che non sono essenziali per il tuo lavoro è un buon modo per liberare RAM.