我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。
我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。
我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。
我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。
当前回答
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
其他回答
使现代化
现在,您可以为Android Emulator启用快速启动选项。这将保存仿真器状态,并将在下次启动时快速启动仿真器。
单击Emulator编辑按钮,然后单击显示高级设置。然后启用快速启动,如下图所示。
Android开发工具(ADT)9.0.0(或更高版本)有一个功能,允许您保存AVD(仿真器)的状态,您可以立即启动仿真器。您必须在创建新的AVD时启用此功能,或者您可以稍后通过编辑AVD来创建它。
此外,我还将设备RAM大小增加到1024,这导致了一个非常快的仿真器。
有关更多信息,请参阅下面的截图。
使用保存快照功能创建新的AVD。
从快照启动仿真程序。
关于加速模拟器,您可以参考加速Android模拟器!:
使用ssd硬盘影响太大,我建议使用更合适的ram(8或更高)
现在在ADT21上,它为快速仿真器提供了更多选项。。。您应该使用512 MB RAM、较低的CPU时间、设备选择和较高的VM堆大小。为了获得更好的结果,您应该在CPU/ABI中使用Intel Atom。。。使用快照和CPU主机可能不会提高仿真器的速度,但有一些用于其他目的。
你需要更多的记忆。
这就是我这么说的原因:
我正在Windows上使用VirtualBox作为来宾运行Ubuntu 10.10。我在VM上安装了Eclipse和Android SDK。我的物理机箱有4GB的内存,但当我第一次配置Ubuntu虚拟机时,我只给了它1GB的内存。模拟器大约需要15分钟才能启动。然后,我将配置更改为VM 2GB,仿真器在不到一分钟的时间内运行。
模拟器在空闲时似乎会减慢速度。这一点可以通过快速将鼠标移到侧面的按键上并观察灯光的反应而变得明显。作为解决方法,我在启动仿真器时将-icount auto传递给QEMU。您可以创建一个名为my_avd.bat的批处理文件:
emulator @my_avd -no-boot-anim -qemu -icount auto
@my_avd—启动名为“my_avd”的虚拟设备-no boot anim—禁用动画以加快启动速度-qemu参数…--向qemu传递参数-icount[N|auto]—启用虚拟指令计数器,每个指令有2^N个时钟信号
这使动画变得非常流畅,并将adb安装速度提高了十倍。
试着缩小模拟器的规模,它会让它更快一些,即使不是这样,它也会感觉更快。