快照

快照是 Android 虚拟设备 (AVD) 的存储映像,它保留了保存映像时设备的完整状态,包括操作系统设置、应用状态和用户数据。您可以加载快照以恢复到保存的系统状态,这样能让您节省时间,无需等待虚拟设备上的操作系统和应用重启,也能让您节省将应用恢复到所需测试状态的精力。通过加载快照来启动虚拟设备很像从休眠状态唤醒实体设备,而不是从关机状态启动它。

每个 AVD 可以有一个快速启动快照和任意数量的一般快照。

利用快照的最简单方法是使用快速启动快照。默认情况下,每个 AVD 都设置为在退出时自动保存快速启动快照,并在启动时从快速启动快照加载。

AVD 首次启动时,必须执行冷启动,就像设备开机一样。如果启用了快速启动,则系统会通过加载指定的快照来执行所有后续启动,并且系统会恢复到相应快照中保存的状态。

使用快速启动快照,AVD 的启动速度最多可比冷启动快 10 倍。因此,我们建议在 AVD 上首次启动后使用快速启动功能(如果可能)。

快照要在系统映像、AVD 配置以及保存时采用的模拟器功能均保持不变的情况下才有效。如果您在其中任一方面进行更改,受影响的 AVD 的所有快照都会变为无效。Android 模拟器、系统映像或 AVD 设置如有任何更新,都会重置 AVD 的已保存状态,因此在您下次启动 AVD 时,它必须执行冷启动。

用于保存、加载和管理快照的大多数控件都在 Snapshots 窗格的 SnapshotsSettings 标签页中。如果您在 Android Studio 的工具窗口中运行模拟器,Snapshots 窗格按钮将位于模拟器工具栏中。如果您是在 Android Studio 之外的独立窗口中运行模拟器,Snapshots 窗格位于 Extended controls 窗口中。

您还可以在从命令行启动模拟器时控制快速启动选项。

保存快速启动快照

您可以指定模拟器是否在关闭时自动保存快照。如需控制此行为,请按以下步骤操作:

  1. 打开快照设置。如果模拟器已嵌入到 Android Studio 中,请点击工具栏中的 Snapshots。如果模拟器在单独的窗口中,请打开 Extended controls 窗口。
  2. 在控件的 Snapshots 类别中,前往 Settings 标签页。
  3. Auto-save current state to Quickboot 菜单中选择以下某个选项:

    • Yes:关闭模拟器时始终保存 AVD 快照。这是默认值。

    • No:关闭模拟器时不保存 AVD 快照。

您的选择仅会应用于打开的 AVD。在 ADB 处于离线状态时(例如,当 AVD 仍在启动时),您无法保存快照。

保存一般快照

虽然每个 AVD 只能有一个快速启动快照,但每个 AVD 可以有多个一般快照。

如需保存一般快照,请打开 Snapshots 窗格,然后点击右下角的 Take snapshot 按钮。

如需修改选定快照的名称和说明,请点击窗格底部的修改按钮

删除快照

如需手动删除快照,请打开 Snapshots 窗格,选择快照,然后点击窗格底部的删除按钮

您还可以指定是否希望模拟器在快照变为无效时(例如,当 AVD 设置或模拟器版本发生更改时)自动将其删除。默认情况下,模拟器会询问您是否希望删除无效快照。您可以使用 Snapshots 窗格的 Settings 标签页中的 Delete invalid snapshots 菜单更改此设置。

加载快照

如需随时加载快照,请打开模拟器的 Snapshots 窗格,选择 Snapshots 类别,选择一个快照,然后点击窗格底部的加载按钮

在 Android Studio 3.2 及更高版本中,每个设备配置都在 Virtual Device Configuration 对话框的高级设置中包含一个 Boot option 控件。您可以使用该控件来指定在启动该 AVD 时要加载哪个快照。

停用快速启动功能

如果您要停用快速启动功能,以便 AVD 始终执行冷启动,请执行以下操作:

  1. 依次选择 Tools > Device Manager,然后点击 Edit this AVD 图标
  2. 点击 Show Advanced Settings,然后向下滚动到 Emulated Performance
  3. 选择 Cold boot

冷启动一次

您可以通过在设备管理器的 AVD 菜单中点击 Cold Boot,而不是完全停用快速启动功能。

快照要求和问题排查

  • 快照不适用于 Android 4.0.4(API 级别 15)或更低版本。
  • 快照不适用于 Android 8.0(API 级别 26)的 ARM 系统映像。
  • 如果模拟器未能通过快照完成启动,请在设备管理器中为相应 AVD 选择 Cold Boot,然后提交 bug 报告
  • 在启用软件渲染的情况下,快照将不可靠。如果快照不能正常工作,请在设备管理器中点击 Edit this AVD 图标 ,然后将 Graphics 更改为 HardwareAutomatic
  • 加载或保存快照的操作会占用大量内存。如果开始执行加载或保存操作时 RAM 可用空间不足,操作系统可能会将 RAM 的内容交换到硬盘,这将大大降低执行操作的速度。如果您发现快照的加载或保存速度很慢,则可以通过释放 RAM 来加快这些操作的速度。关闭不必要的应用是释放 RAM 的好方法。