暂停Android模拟器的方法?

时间:2011-03-02 18:41:40

标签: android android-emulator

我在笔记本电脑上做了很多开发,我使用各种Android模拟器来完成它。运行时,仿真器经常占用大量的CPU,从而大大降低笔记本电脑的电池寿命。

有没有办法暂时暂停模拟器,或至少关闭任何消耗所有不必要的CPU的东西?

我知道使用sdk r9以及后来我可以快速模拟仿真器并快速退出/重启它,但我希望我的工作流程比那更具侵略性。

4 个答案:

答案 0 :(得分:8)

在Linux中,您可以通过

停止该过程
$ killall --signal STOP emulator

$ killall --signal STOP emulator64-arm

稍后继续

$ killall --signal CONT emulator

$ killall --signal CONT emulator64-arm

Gotcha :如果更新Eclipse,请确保在重新启动eclipse时未停止模拟器。加载时Eclipse将停止,等待停止的模拟器继续运行。

答案 1 :(得分:6)

最新版本的adt支持模拟器快照,这意味着您可以关闭模​​拟器并将其恢复到快速的位置。因此,要解决您的问题,只需关闭您的模拟器并在需要时将其恢复。

创建avd时检查快照已启用: Check snapshot enabled when creating your avd

确保启动时检查启动和保存快照:

Ensure launch and save snapshot are checked when launching

答案 2 :(得分:2)

对于跨平台解决方案,这应该暂停,然后继续执行模拟器:

$ telnet localhost 5554  
> avd stop  
> avd start

答案 3 :(得分:0)

在Mac OSX上

使用活动监视器,找到模拟器的进程ID#(PID)。

PID number of emulator

停止

在终端telnet到您的模拟器:

avd stop

停止模拟器

kill -STOP 19636

在另一个终端窗口中,停止(暂停)该过程(19636是一个示例PID,您需要从活动监视器为您的模拟器提供特定的PID):

avd start

重新启动

要重新启动模拟器,请从telnet连接到模拟器:

kill -CONT 19636

然后最后从OSX终端继续该过程:

Array
(
    [Germany] => Array
        (
            [0] => Array
                (
                    [amount] => 50
                    [count] => 1
                )

        )

    [Poland] => Array
        (

            [0] => Array
                (
                    [amount] => 80
                    [count] => 2
                )

        )

)

我发现简单地执行kill -STOP / CONT将不允许模拟器在尝试重启时恢复生命。继续该过程后,虽然它的CPU使用率恢复正常,但仿真器仍会保持冻结状态。

通过telnet停止模拟器,然后停止进程然后将这些步骤反转以重新启动,似乎完美无缺。