我在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。
当前回答
在编写本文时,最快的仿真器是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的仿真器上进行测试。
其他回答
在模拟设备时,尝试使用Intel X86 Atom Storage Image进行相对更快的启动,而不是使用基于ARM的映像。
需要注意的另一件事是,根据您的系统配置,使用1.21 GB RAM运行Android模拟器可能是一种缓慢的体验,因为模拟器需要高达一定百分比的RAM,用于模拟设备,而不会忘记ADT使用的RAM。
尝试2.1-2.3.3的系统映像,以获得至少可运行的体验。此外,不要忘记“保存到快照”以加快加载速度。尽管第一次加载可能需要时间。但保存到快照肯定会节省一些时间。
我建议使用OpenGL设置。我有一个双核(四线程)i3-2350M运行在它的内部GPU上,如果我使用SwiftShaders,我会获得糟糕的性能,但将其更改为“桌面原生OpenGL”(扩展控制>设置>OpenGL ES渲染器)会使其运行平稳。
如果设备无法启动,请在设备配置中使用OpenGL ES API级别设置和GPU仿真设置。
我不知道为什么,但在我2011年的英特尔处理器上,它有着天壤之别。
Android studio 2.02已经推出,它有更快的模拟器,如果你想与第三方合作,请使用Genymation模拟器,它们非常快
我的解决方案是维索。我得到了两个最好的世界。我不会给我的机器加太多的电,但我也可以在屏幕上看到我真正的Android设备,所以我不必伸手去拿它,把手从键盘上拿下来等等。此外,总有一些功能在模拟器上运行得不太好。
有带广告的免费版本和付费版本,与其他解决方案相比,不会让银行破产。
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。