Snapshots

Ein Snapshot ist ein gespeichertes Image eines virtuellen Android-Geräts (Android Virtual Device, AVD), das den gesamten Status des Geräts zum Zeitpunkt der Speicherung beibehält, einschließlich der Betriebssystemeinstellungen, des App-Status und der Nutzerdaten. Sie können durch Laden eines Snapshots zu einem gespeicherten Systemstatus zurückkehren. So müssen Sie nicht mehr warten, bis das Betriebssystem und die Anwendungen auf dem virtuellen Gerät neu gestartet wurden. Außerdem sparen Sie sich Zeit, Ihre App in den Zustand zurückzusetzen, in dem Sie den Test fortsetzen möchten. Das Starten eines virtuellen Geräts durch Laden eines Snapshots ähnelt dem Beenden eines physischen Geräts aus dem Ruhemodus im Gegensatz zum Starten aus einem ausgeschalteten Zustand.

Für jeden AVD können Sie einen Schnellstart und eine beliebige Anzahl allgemeiner Snapshots erstellen.

Die einfachste Möglichkeit, Snapshots zu nutzen, ist die Verwendung eines Quick Boot-Snapshots. Standardmäßig ist jedes AVD so eingestellt, dass beim Beenden automatisch ein Quick Boot-Snapshot gespeichert und beim Start aus einem Quick Boot-Snapshot geladen wird.

Ein AVD muss beim ersten Start einen Kaltstart ausführen, genau wie beim Einschalten eines Geräts. Wenn Quick Boot aktiviert ist, werden alle nachfolgenden Starts aus dem angegebenen Snapshot geladen und das System wird in den Zustand zurückgesetzt, der in diesem Snapshot gespeichert ist.

Snapshots gelten für das System-Image, die AVD-Konfiguration und die Emulatorfunktionen, mit denen sie gespeichert werden. Wenn Sie eine Änderung in einem dieser Bereiche vornehmen, werden alle Snapshots des betroffenen AVD ungültig. Bei jeder Aktualisierung des Android-Emulators, des System-Images oder der AVD-Einstellungen wird der gespeicherte Status des AVD zurückgesetzt. Wenn Sie das AVD das nächste Mal starten, muss es also einen Kaltstart ausführen.

Die meisten Steuerelemente zum Speichern, Laden und Verwalten von Snapshots finden Sie im Bereich Snapshots auf den Tabs Snapshots und Einstellungen. Wenn Sie den Emulator in einem Toolfenster in Android Studio ausführen, befindet sich die Schaltfläche Snapshots in der Symbolleiste des Emulators. Wenn Sie den Emulator in einem eigenständigen Fenster außerhalb von Android Studio ausführen, befindet sich der Bereich Snapshots im Fenster Erweiterte Steuerelemente.

Sie können die Quick Boot-Optionen auch steuern, wenn Sie den Emulator über die Befehlszeile starten.

Quick Boot-Snapshots speichern

Sie können angeben, ob der Emulator beim Schließen automatisch einen Snapshot speichert. So steuern Sie dieses Verhalten:

  1. Öffnen Sie die Snapshot-Einstellungen. Wenn der Emulator in Android Studio eingebettet ist, klicken Sie in der Symbolleiste auf Snapshots. Befindet sich der Emulator in einem separaten Fenster, öffnen Sie das Fenster Erweiterte Steuerelemente.
  2. Gehen Sie in der Kategorie Snapshots der Steuerelemente zum Tab Einstellungen.
  3. Wählen Sie im Menü Aktuellen Status in Quickboot automatisch speichern eine der folgenden Optionen aus:

    • Ja: Es wird immer ein AVD-Snapshot gespeichert, wenn Sie den Emulator schließen. Das ist die Standardeinstellung.

    • Nein: Speichern Sie keinen AVD-Snapshot, wenn Sie den Emulator schließen.

Ihre Auswahl gilt nur für das AVD, das derzeit geöffnet ist. Sie können keine Snapshots speichern, während ADB offline ist (z. B. während das AVD noch gestartet wird).

Allgemeine Snapshots speichern

Während Sie nur einen Quick Boot-Snapshot pro AVD haben können, können Sie mehrere allgemeine Snapshots für jedes AVD haben.

Öffnen Sie zum Speichern eines allgemeinen Snapshots den Bereich Snapshots und klicken Sie rechts unten auf die Schaltfläche Snapshot erstellen.

Klicken Sie unten im Bereich auf die Schaltfläche „Bearbeiten“ , um den Namen und die Beschreibung des ausgewählten Snapshots zu bearbeiten.

Snapshot löschen

Wenn Sie einen Snapshot manuell löschen möchten, öffnen Sie den Bereich Snapshots, wählen Sie den Snapshot aus und klicken Sie unten im Bereich auf die Schaltfläche „Löschen“ .

Sie können auch angeben, ob der Emulator Snapshots automatisch löschen soll, wenn sie ungültig werden, z. B. wenn sich die AVD-Einstellungen oder die Emulator-Version ändern. Standardmäßig werden Sie vom Emulator gefragt, ob ungültige Snapshots gelöscht werden sollen. Sie können diese Einstellung im Bereich Snapshots auf dem Tab Einstellungen über das Menü Ungültige Snapshots löschen ändern.

Snapshot laden

Sie können jederzeit einen Snapshot laden. Öffnen Sie dazu den Bereich Snapshots des Emulators, wählen Sie die Kategorie Snapshots und dann einen Snapshot aus. Klicken Sie dann unten im Bereich auf die Schaltfläche zum Laden.

Ab Android Studio 3.2 enthält jede Gerätekonfiguration in den erweiterten Einstellungen im Dialogfeld Virtuelle Gerätekonfiguration ein Steuerelement für die Bootoption. Mit dem Steuerelement können Sie festlegen, welcher Snapshot beim Starten dieses AVD geladen werden soll.

Quick Boot deaktivieren

Wenn Sie Quick Boot deaktivieren möchten, damit Ihr AVD immer einen Kaltstart ausführt, gehen Sie so vor:

  1. Wählen Sie Tools > Geräte-Manager aus und klicken Sie auf Dieses AVD bearbeiten .
  2. Klicken Sie auf Erweiterte Einstellungen anzeigen und scrollen Sie nach unten zu Emulierte Leistung.
  3. Wählen Sie Cold Boot aus.

Einmal Kaltstart

Anstatt Quick Boot vollständig zu deaktivieren, können Sie auch einmalig einen Kaltstart durchführen. Klicken Sie dazu im Geräte-Manager im AVD-Menü auf Cold Boot Now (Jetzt Kaltstart).

Snapshot-Anforderungen und Fehlerbehebung

  • Snapshots funktionieren nicht mit Android 4.0.4 (API-Level 15) oder niedriger.
  • Snapshots funktionieren nicht mit ARM-System-Images für Android 8.0 (API-Level 26).
  • Wenn der Emulator nicht aus einem Snapshot startet, wählen Sie im Gerätemanager für das AVD die Option Kaltstart jetzt aus und reichen Sie einen Fehlerbericht ein.
  • Snapshots sind nicht zuverlässig, wenn das Software-Rendering aktiviert ist. Wenn Snapshots nicht funktionieren, klicken Sie im Gerätemanager auf Dieses AVD bearbeiten und ändern Sie Grafik in Hardware oder Automatisch.
  • Das Laden oder Speichern eines Snapshots nimmt viel Arbeitsspeicher in Anspruch. Wenn zu Beginn eines Lade- oder Speichervorgangs nicht genügend RAM verfügbar ist, kann das Betriebssystem den Inhalt des RAM auf die Festplatte austauschen, was den Vorgang erheblich verlangsamen kann. Wenn das Laden oder Speichern von Snapshots sehr langsam ist, können Sie diese Vorgänge möglicherweise beschleunigen, indem Sie RAM freigeben. Das Schließen von Anwendungen, die für Ihre Arbeit nicht erforderlich sind, ist eine gute Möglichkeit, RAM freizugeben.