我在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。
当前回答
从AndroidSDK工具的第17版开始,模拟器可以使用图形加速和CPU提供的扩展来提高效率。先决条件、完整配置和用户说明位于:
http://developer.android.com/guide/developing/devices/emulator.html#acceleration
要启用GPU去操作,请从命令行运行仿真器,或在AVD配置中的其他仿真器命令行选项中添加“-GPU on”。
emulator -avd <avd_name> -gpu on
要使用CPU机器扩展,必须安装驱动程序(小心,因为它可能与现有的VirtualBox或VMware驱动程序冲突)。安装后,无论何时使用基于x86的AVD,它都会自动使用。
其他回答
我有间歇性的缓慢模拟器(SDK v8.0)加载时间,在加载了Eclipse(3.6.1)的Xubuntu 10.04 VirtualBox 3.2.12客户机上运行的Intel Core i7 920 2.67 GHz CPU上长达三分钟。我将VirtualBox客户机内存从1024 MB更改为2048 MB,从那时起,我再也没有体验过这种缓慢(加载时间一致为33秒,CPU负载一致为20%)。Eclipse和模拟器都是内存占用者。
尝试在创建新的Android虚拟设备时减小模拟器的屏幕大小。
我已经看到,与AVD管理器中提供的默认选项相比,这将非常快速地启动模拟器。
你可以尝试Genymotion而不是android模拟器。它比android模拟器更快更好。
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
我建议您使用Android手机通过USB调试进行开发。与虚拟设备相比,它提供了更好的应用测试体验和更好的输出。或者,您也可以使用其他答案中提到的选项,并可以使用Bluestacks App Player,这在Android设备不可用的情况下也是一个不错的选项。