暂停Android模拟器的方法?

暂停Android模拟器的方法?,android,android-emulator,Android,Android Emulator,我在我的笔记本电脑上做了很多开发工作,我使用各种Android模拟器来完成。在运行时,模拟器经常会占用我大量的CPU,从而显著缩短笔记本电脑的电池寿命 有没有办法暂时暂停仿真器,或者至少关闭消耗所有不必要cpu的任何东西 我知道,使用sdk r9和更高版本,我可以相当快地对模拟器进行快照并退出/重新启动,但我希望对我的工作流程的影响比这更小。最新版本的adt支持模拟器快照,这意味着你可以关闭模拟器并快速将其恢复到原来的状态。因此,要解决您的问题,只需关闭仿真器并在需要时进行恢复 创建avd时检查

我在我的笔记本电脑上做了很多开发工作,我使用各种Android模拟器来完成。在运行时,模拟器经常会占用我大量的CPU,从而显著缩短笔记本电脑的电池寿命

有没有办法暂时暂停仿真器,或者至少关闭消耗所有不必要cpu的任何东西


我知道,使用sdk r9和更高版本,我可以相当快地对模拟器进行快照并退出/重新启动,但我希望对我的工作流程的影响比这更小。

最新版本的adt支持模拟器快照,这意味着你可以关闭模拟器并快速将其恢复到原来的状态。因此,要解决您的问题,只需关闭仿真器并在需要时进行恢复

创建avd时检查快照是否已启用:

确保在启动时选中启动和保存快照:


在Linux中,您可以通过

$ killall --signal STOP emulator
$ killall --signal CONT emulator

以后继续

$ killall --signal STOP emulator
$ killall --signal CONT emulator


Gotcha:如果您更新了Eclipse,请确保在重新启动Eclipse时没有停止仿真器。Eclipse将在加载时暂停,等待停止的仿真器继续运行。

对于跨平台解决方案,应暂停,然后继续执行仿真器:

$ telnet localhost 5554  
> avd stop  
> avd start
telnet localhost 5554
avd start
在MacOSX上 使用Activity Monitor,查找仿真器的进程ID(PID)

制止 在终端telnet中连接到模拟器:

$ telnet localhost 5554  
> avd stop  
> avd start
telnet localhost 5554
avd start
停止模拟器

avd stop
在另一个终端窗口中,停止(暂停)进程(19636是一个示例PID,您需要活动监视器中模拟器的特定PID):

重新开始 要重新启动emulator,请从telnet连接到emulator:

$ telnet localhost 5554  
> avd stop  
> avd start
telnet localhost 5554
avd start
然后,最后从OSX终端继续该过程:

kill -CONT 19636
我发现简单地执行kill-STOP/CONT不会让模拟器在尝试重新启动时恢复生命。继续该过程后,模拟器将保持冻结状态,尽管其CPU使用率恢复正常


通过telnet停止emulator,然后停止进程,然后反向执行这些步骤以重新启动,似乎可以完美地工作。

如果您有实际的设备,并且您需要的开发SDK少于您的设备,请尝试使用该设备而不是emulator。为什么?1.它是快2。你会解决这个问题的。是的,我只是在尝试。到目前为止似乎运行良好。在当前的仿真选项下,您只能选择“快照”、“使用主机GPU”中的一个。IE你不能在使用模拟器快照的同时使用主机的GPU。这对我不起作用(在2020年运行电视动车组)。获取错误:avd stop允许您控制(例如启动/停止)虚拟设备可用子命令的执行:名称查询虚拟设备名称KO:错误子命令