快照 是 Android 虚拟设备 (AVD) 的存储图像,它保存了设备在保存时的所有状态,包括操作系统设置、应用程序状态和用户数据。您可以通过加载快照来返回到保存的系统状态,从而节省了等待虚拟设备上的操作系统和应用程序重新启动的时间,以及将应用恢复到您希望继续测试的状态所需的工作量。通过加载快照启动虚拟设备就像从休眠状态唤醒物理设备一样,而不是从关闭状态启动设备。
对于每个 AVD,您都可以拥有一个快速启动快照和任意数量的一般快照。
使用快照最简单的方法是使用快速启动快照。默认情况下,每个 AVD 都设置为在退出时自动保存快速启动快照,并在启动时从快速启动快照加载。
AVD 首次启动时,必须执行冷启动,就像打开设备电源一样。如果启用了快速启动,则所有后续启动都将从指定快照加载,并且系统将恢复到该快照中保存的状态。
使用快速启动快照,AVD 的启动速度比冷启动快 10 倍。因此,建议您在 AVD 上进行初始启动后(如果可能)使用快速启动。
快照对保存快照时的系统映像、AVD 配置和模拟器功能有效。当您在这些区域中的任何一个区域进行更改时,受影响的 AVD 的所有快照都会失效。对 Android 模拟器、系统映像或 AVD 设置的任何更新都会重置 AVD 的保存状态,因此下次启动 AVD 时,它必须执行冷启动。
大多数用于保存、加载和管理快照的控件位于**快照**窗格的**快照**和**设置**选项卡中。如果您在 Android Studio 的工具窗口中运行模拟器,则**快照**窗格按钮位于模拟器工具栏中。如果您在 Android Studio 之外的独立窗口中运行模拟器,则**快照**窗格位于扩展控件窗口中。
您也可以在从命令行启动模拟器时控制快速启动选项。
保存快速启动快照
您可以指定模拟器在您关闭时是否自动保存快照。要控制此行为,请按照以下步骤操作
- 打开快照设置。如果模拟器嵌入在 Android Studio 中,请点击工具栏中的**快照**。如果模拟器位于单独的窗口中,请打开扩展控件窗口。
- 在控件的**快照**类别中,导航到**设置**选项卡。
使用**自动保存当前状态到快速启动**菜单选择以下选项之一
**是**:在您关闭模拟器时始终保存 AVD 快照。这是默认设置。
**否**:在您关闭模拟器时不要保存 AVD 快照。
您的选择仅适用于打开的 AVD。在 ADB 处于脱机状态时(例如,当 AVD 仍在启动时),您无法保存快照。
保存常规快照
虽然您每个 AVD 只能有一个快速启动快照,但您每个 AVD 可以有多个常规快照。
要保存常规快照,请打开**快照**窗格并点击其右下角的**拍摄快照**按钮。
要编辑所选快照的名称和描述,请点击窗格底部的编辑按钮。
删除快照
要手动删除快照,请打开**快照**窗格,选择快照,然后点击窗格底部的删除按钮。
您还可以指定是否希望模拟器在快照失效时(例如,当 AVD 设置或模拟器版本更改时)自动删除快照。默认情况下,模拟器会询问您是否希望它删除无效快照。您可以使用**快照**窗格的**设置**选项卡中的**删除无效快照**菜单更改此设置。
加载快照
要在任何时候加载快照,请打开模拟器的**快照**窗格,选择**快照**类别,选择一个快照,然后点击窗格底部的加载按钮。
在 Android Studio 3.2 及更高版本中,每个设备配置在虚拟设备配置对话框的高级设置中都包含一个**启动选项**控件。您可以使用该控件指定启动该 AVD 时要加载的快照。
禁用快速启动
如果要禁用快速启动,以便您的 AVD 始终执行冷启动,请执行以下操作
- 选择**工具 > 设备管理器**,然后点击**编辑此 AVD** 。
- 点击**显示高级设置**,然后向下滚动到**模拟性能**。
- 选择**冷启动**。
冷启动一次
您可以通过从**设备管理器**中 AVD 的菜单中点击**冷启动**来执行冷启动,而不是完全禁用快速启动。
快照要求和故障排除
- 快照不适用于 Android 4.0.4(API 级别 15)或更低版本。
- 快照不适用于 Android 8.0(API 级别 26)的 ARM 系统映像。
- 如果模拟器无法从快照启动,请在设备管理器中为 AVD 选择**冷启动**,然后提交错误报告。
- 启用软件渲染时,快照不可靠。如果快照不起作用,请在**设备管理器**中点击**编辑此 AVD** ,并将**图形**更改为**硬件**或**自动**。
- 加载或保存快照是一个内存密集型操作。如果在加载或保存操作开始时没有足够的可用 RAM,操作系统可能会将 RAM 的内容交换到硬盘,这会大大减慢操作速度。如果您遇到非常慢的快照加载或保存,您也许可以通过释放 RAM 来加快这些操作。关闭对您的工作不必要的应用程序是释放 RAM 的好方法。