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 Anwendungsstatus und der Nutzerdaten. Sie können zu einem gespeicherten Systemstatus zurückkehren, indem Sie einen Snapshot laden. Dadurch sparen Sie Zeit, da das Betriebssystem und die Anwendungen auf dem virtuellen Gerät nicht neu gestartet werden. Außerdem müssen Sie die Anwendung nicht in den Zustand zurückversetzen, in dem Sie den Test fortsetzen möchten. Das Starten eines virtuellen Geräts durch Laden eines Snapshots ähnelt dem Aktivieren eines physischen Geräts aus dem Ruhemodus im Gegensatz zum Starten aus einem ausgeschalteten Zustand.
Für jedes AVD können Sie einen Quick Boot-Snapshot und eine beliebige Anzahl allgemeiner Snapshots erstellen.
Der einfachste Weg, 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.
Beim ersten Start eines AVDs muss es wie beim Einschalten eines Geräts einen Kaltstart durchführen. Wenn Quick Boot aktiviert ist, werden alle nachfolgenden Snapshots aus dem angegebenen Snapshot geladen und das System wird in dem Zustand wiederhergestellt, der in diesem Snapshot gespeichert ist.
Ein AVD kann mit einem Quick Boot-Snapshot bis zu 10-mal schneller starten als ein Kaltstart. Aus diesem Grund empfehlen wir, den Quick Boot-Modus (wenn möglich) nach dem ersten Start des AVD zu verwenden.
Snapshots gelten für das System-Image, die AVD-Konfiguration und die Emulator-Features, mit denen sie gespeichert werden. Wenn Sie in einem dieser Bereiche eine Änderung 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 also das nächste Mal starten, muss ein Kaltstart erfolgen.
Die meisten Steuerelemente zum Speichern, Laden und Verwalten von Snapshots befinden sich auf den Tabs Snapshots und Einstellungen im Bereich Snapshots. Wenn Sie den Emulator in einem Toolfenster in Android Studio ausführen, befindet sich die Schaltfläche für den Bereich 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 können Sie dieses Verhalten steuern:
- Öffnen Sie die Snapshot-Einstellungen. Wenn der Emulator in Android Studio eingebettet ist, klicken Sie in der Symbolleiste auf Snapshots. Wenn sich der Emulator in einem separaten Fenster befindet, öffnen Sie das Fenster Erweiterte Steuerelemente.
- Gehen Sie in der Steuerungskategorie Snapshots zum Tab Einstellungen.
Wählen Sie im Menü Aktuellen Status in Quickboot automatisch speichern eine der folgenden Optionen aus:
Ja: Speichern Sie immer einen AVD-Snapshot, wenn Sie den Emulator schließen. Dies ist die Standardeinstellung.
Nein: Es wird kein AVD-Snapshot gespeichert, wenn Sie den Emulator schließen.
Ihre Auswahl gilt nur für die offene AVD. Sie können keine Snapshots speichern, während ADB offline ist (z. B. während das AVD noch gestartet wird).
Allgemeine Snapshots speichern
Sie können zwar nur einen Quick Boot-Snapshot pro AVD haben, aber für jedes AVD sind mehrere allgemeine Snapshots möglich.
Um einen allgemeinen Snapshot zu speichern, öffnen Sie 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
Um einen Snapshot manuell zu löschen, öffnen Sie den Bereich Snapshots, wählen Sie den Snapshot aus und klicken Sie unten im Bereich auf die Schaltfläche .
Sie können auch angeben, ob Snapshots vom Emulator automatisch gelöscht werden sollen, wenn sie ungültig werden, z. B. wenn die AVD-Einstellungen oder die Version des Emulators geändert werden. 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 aus, wählen Sie einen Snapshot aus und klicken Sie unten im Bereich auf die Schaltfläche .
Ab Android Studio 3.2 enthält jede Gerätekonfiguration ein Steuerelement für die Bootoption in den erweiterten Einstellungen des Dialogfelds Konfiguration virtueller Geräte. Mit dem Steuerelement können Sie angeben, 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 durchführt, gehen Sie so vor:
- Wählen Sie Tools > Geräte-Manager aus und klicken Sie auf Diese AVD bearbeiten .
- Klicken Sie auf Erweiterte Einstellungen anzeigen und scrollen Sie nach unten zu Emulierte Leistung.
- Wählen Sie Cold Boot aus.
Kaltstart einmalig
Anstatt Quick Boot vollständig zu deaktivieren, können Sie einen Kaltstart durchführen, indem Sie im Gerätemanager des AVD-Menüs auf Cold Boot klicken.
Snapshot-Anforderungen und Fehlerbehebung
- Snapshots funktionieren nicht unter 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 über einen Snapshot startet, wählen Sie im Geräte-Manager für das AVD die Option Kaltstart 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äte-Manager auf Dieses AVD bearbeiten und ändern Sie Grafik in Hardware oder Automatisch.
- Das Laden oder Speichern eines Snapshots ist ein arbeitsspeicherintensiver Vorgang. Wenn zu Beginn eines Lade- oder Speichervorgangs nicht genügend RAM zur Verfügung steht, lagert das Betriebssystem den RAM-Speicher unter Umständen auf die Festplatte aus, was den Vorgang erheblich verlangsamen kann. Bei sehr langsamen Snapshot-Lade- oder Speichervorgängen können Sie diese Vorgänge möglicherweise beschleunigen, indem Sie RAM freigeben. Das Schließen von Anwendungen, die für Ihre Arbeit nicht notwendig sind, ist eine gute Möglichkeit, RAM freizugeben.