快照是 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 设置或模拟器版本更改时)自动删除快照。默认情况下,模拟器会询问您是否要删除无效的快照。您可以使用快照窗格的设置选项卡中的删除无效快照菜单更改此设置。
加载快照
要随时加载快照,请打开模拟器的快照窗格,选择快照类别,选择快照,然后单击窗格底部的加载按钮。
在 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 的好方法。