我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。

我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?

即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。


当前回答

您可以尝试我们的新Android虚拟机Leapdroid,它与原始的Android模拟器完全兼容。由于它使用虚拟化技术而不是仿真,因此它提供了相当高的原生速度。此外,我们使用了一种名为LeapGL的新OpenGL技术,它以原生速度执行OpenGL图形。与其他vm相比,我们的vm具有最好的性能。

http://www.leapdroid.com

源代码:https://github.com/leapdroid

Leapdroid与Eclipse和AndroidStudio完全兼容,因为它使用相同的adb端口。

其他回答

较旧的Android版本运行速度更快。当我使用上网本时,我使用Android 1.5(API级别3)。但也有一些缺点——你的应用程序需要支持较旧的平台(显然),ndk-gdb需要运行Android 2.2(API级别8)或更高版本。但无论如何,定期在旧平台上测试应用程序是一个好主意。

您可以尝试我们的新Android虚拟机Leapdroid,它与原始的Android模拟器完全兼容。由于它使用虚拟化技术而不是仿真,因此它提供了相当高的原生速度。此外,我们使用了一种名为LeapGL的新OpenGL技术,它以原生速度执行OpenGL图形。与其他vm相比,我们的vm具有最好的性能。

http://www.leapdroid.com

源代码:https://github.com/leapdroid

Leapdroid与Eclipse和AndroidStudio完全兼容,因为它使用相同的adb端口。

对于快速测试(<1秒),使用buildroid,VirtualBox的第一个网卡设置为“仅主机网络”,然后运行

C:\Program Files (x86)\Android\android-sdk\platform-tools>adb connect *.*.*.*:5555
connected to *.*.*.*:5555

(^)DOS/bash(v)

# adb connect *.*.*.*:5555
connected to *.*.*.*:5555

其中*.*.*.*是通过单击buildroid主屏幕中的buildroid应用程序获得的buildroidIP地址。

您可以在GoogleI/O 2011:AndroidDevelopmentTools上回顾仿真器问题,开始0:40:20。

模拟器运行缓慢,因为整个Android环境在仿真硬件上运行,指令也在仿真ARM处理器上执行。

主要的瓶颈是渲染,因为它不在任何专用硬件上运行,但实际上是通过软件渲染执行的。减小屏幕大小将大大提高仿真器性能。获得更多/更快的内存不会有帮助。

当时他们已经提到,他们正在开发一种接口,允许仿真器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用仿真器的性能。

使用Intel x86 Emulator加速器

首先,安装Intel x86 Emulator Accelerator(HAXM)。这可以直接从Intel或使用Android SDK Manager下载。在SDK管理器中,它位于Extras下。

在我使用的AndroidStudio版本(0.8.9)中,AndroidSDKManager下载HAXM,但实际上不运行安装程序(我认为这将在以后的版本中得到修复)。要运行安装程序,我必须转到C:\Program Files(x86)\Android\Android studio\sdk\pextras\intel\Hardware_Accelerated_Execution_Manager并手动启动intelhaxm.exe。

HAXM可与Intel设备配合使用,因此创建了一个带有Intel CPU的新Emulator。

使用Intel Atom x86创建新的AVD

这大大改善了性能,但模拟器仍然感觉有点迟钝。最后一步是选择在Android虚拟设备管理器(AVD)中使用主机GPU。

在这些更改之后,Android Emulator在5-10秒内启动并运行,没有任何明显的延迟。请注意,这些功能依赖于硬件(CPU/GPU),在某些系统上可能无法工作。