我在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。
当前回答
您可以在GoogleI/O 2011:AndroidDevelopmentTools上回顾仿真器问题,开始0:40:20。
模拟器运行缓慢,因为整个Android环境在仿真硬件上运行,指令也在仿真ARM处理器上执行。
主要的瓶颈是渲染,因为它不在任何专用硬件上运行,但实际上是通过软件渲染执行的。减小屏幕大小将大大提高仿真器性能。获得更多/更快的内存不会有帮助。
当时他们已经提到,他们正在开发一种接口,允许仿真器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用仿真器的性能。
其他回答
在编写本文时,最快的仿真器是Android SDK附带的内置x86仿真器。您可以在创建虚拟机的AVD管理器中找到它们。只需选择其中任何一种,然后选择CPU类型(选择x86以获得最佳性能)。它会和你的机器一样快。
适用于Android 4.0和4.0.3的最新此类机器可以在Giving your Android Emulator a Boost:Building Android ICS with Goldfish&x86 KVM support on EC2-TestObject中找到。
注:这仅用于开发目的。要测试性能,您仍然必须使用真实设备或在带有ARM CPU的仿真器上进行测试。
英特尔于2012年5月15日发布了ICS仿真器的推荐安装说明。这对我有用。模拟器现在很快,UI也很流畅。
前半部分的说明足够详细,因此我假设您能够使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom System Image。
现在,为了确保其他一切都已设置,您可以享受高性能模拟器:
安装Intel硬件加速执行管理器(HAXM)
然后开始:
sudo kextload -b com.intel.kext.intelhaxm (mac)
如果HAXM工作正常,则在启动仿真器时可能会看到以下消息:
HAX正在工作,仿真器以快速虚拟模式运行
否则,您可能会看到以下错误:
HAX不工作,仿真器在仿真模式仿真器中运行:无法打开hax模块
使用GPU仿真。在撰写本文时,当使用GPU仿真时,不能使用快照选项。确保GPU仿真设置为“是”。将设备内存设置为1024 MB或更大,但不能超过Intel HAXM设置。我每个设备使用1024 MB,HAXM使用2048 MB。
保存后始终仔细检查设置!模拟器对它允许您设置的内容非常挑剔,它会在不告诉您的情况下恢复配置。
使用这些设置,软件键盘不再显示,屏幕上的后退键、菜单键和最近的键也不再显示。这似乎是当前ICS Intel x86系统映像的一个限制。您需要使用键盘快捷键。
在Mac OS上,您需要按住fn+控制键,F1-F12键才能工作。可以使用控制+箭头键执行向上/向下/向左/向右翻页。
您(旧)版本的Eclipse中包含的仿真器非常慢。
最近的模拟器比2010年的速度更快。更新SDK/IDE。
就我个人而言,我使用真实的手机进行测试。它更快,测试更真实。但是如果你想在很多不同的Android版本上测试你的应用程序,并且不想买几部手机,你就必须时不时地使用模拟器。
模拟器在空闲时似乎会减慢速度。这一点可以通过快速将鼠标移到侧面的按键上并观察灯光的反应而变得明显。作为解决方法,我在启动仿真器时将-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安装速度提高了十倍。
你需要更多的记忆。
这就是我这么说的原因:
我正在Windows上使用VirtualBox作为来宾运行Ubuntu 10.10。我在VM上安装了Eclipse和Android SDK。我的物理机箱有4GB的内存,但当我第一次配置Ubuntu虚拟机时,我只给了它1GB的内存。模拟器大约需要15分钟才能启动。然后,我将配置更改为VM 2GB,仿真器在不到一分钟的时间内运行。