快照是 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 的好方法。