我在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。
当前回答
如果您有Intel CPU,请安装Intel Hardware Accelerated Execution Manager。
然后在“仿真器设置”中将其指定为仿真器的CPU。当我在Core i7 CPU上完成这项工作时,大约需要10分钟。现在它将在15秒内打开。
其他回答
我只是使用了默认的Android 3.1,速度很慢,但当我意识到我的代码与Android 2.3.3兼容时,我就改用了它。它大约快50%,而且模拟器看起来更像我的手机,并且有一个永久显示的键盘,这样更容易使用。
这是我注意到的,根本没有人提到它。
将所有可用处理器分配给仿真器
这是你可以尝试的。它确实为我加快了模拟器的速度,尤其是在加载期间。我注意到仿真器只使用可用CPU的一个内核。我将其设置为使用所有可用的处理器。
我正在使用Windows 7。
当Android模拟器启动时,打开任务管理器,在进程选项卡下查找“仿真器arm.exe”或“仿真器arm.exe*32”。。。右键单击它,选择Processor Affinity(处理器相关性),并将您喜欢的处理器分配给仿真器。
试着缩小模拟器的规模,它会让它更快一些,即使不是这样,它也会感觉更快。
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
我尝试从Eclipse(Indigo和Android1.5,没有快照)启动模拟器,45分钟后我停止了它,因为什么都没有发生。
统计数据:Phenom Quad@2.6 MHz,4 GB DDR2 Corsair Dominator@800 MHz。AVD位于SSD驱动器上,仿真器位于7200 RPM HDD上。
我使用-no-boot anim选项手动启动模拟器,并在30秒内加载。:)
在CMD中,导航到emulator.exe文件所在的文件夹并键入
emulator.exe @<YourAVDFromEclipse> -no-boot-anim
emulator.exe文件位于“工具”下的Android SDK文件夹中。
在Windows中,您可以在C:\Users\<NAME>\.Android\AVD下找到Android虚拟设备(AVD)。
从Eclipse内部运行的项目,以您启动的AVD为目标,显示得很好:D