我在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。
当前回答
您(旧)版本的Eclipse中包含的仿真器非常慢。
最近的模拟器比2010年的速度更快。更新SDK/IDE。
就我个人而言,我使用真实的手机进行测试。它更快,测试更真实。但是如果你想在很多不同的Android版本上测试你的应用程序,并且不想买几部手机,你就必须时不时地使用模拟器。
其他回答
我只是使用了默认的Android 3.1,速度很慢,但当我意识到我的代码与Android 2.3.3兼容时,我就改用了它。它大约快50%,而且模拟器看起来更像我的手机,并且有一个永久显示的键盘,这样更容易使用。
当前(2011年5月)版本的仿真器速度较慢,尤其是Android 3.0(蜂巢),主要是因为仿真器不支持硬件GL——这意味着GL代码被转换为软件(实际上是ARM软件),然后在QEMU中的软件中进行仿真。这太慢了。他们正在研究这个问题,并已部分解决,但没有任何发布质量。
查看视频GoogleI/O 2011:AndroidDevelopmentTools,看看它的运行情况——跳到大约44分钟。
我只是注意到了一些我无法解释的事情,但嘿,对我来说,这很有效!
无论如何,我是从源代码编译Android的,内置模拟器在几秒钟内启动(我的机器是双核AMD 2.7 GHz),一分钟内,也许在第一次运行时两分钟,系统就启动了。另一方面,使用EclipseADT包会导致半小时的仿真器启动。不可接受的
在这里有效的解决方案(我没有办法在其他机器上测试它,所以如果你想测试并验证):
在您的机器上下载并构建Android SDK。这可能需要一些时间(你知道,整个系统的编译是令人厌烦的)。可在此处找到说明:正在初始化正在下载构建(我将命令更改为“午宴sdk-eng”和“makesdk-j4”;此外,构建提示非常有用,尤其是关于ccache和-jN选项)完成后,运行“android”,SDK管理器将出现。下载工具和所需的平台包。如果找不到命令,请尝试重新运行“”。“build/envsetup.sh”和“午餐sdk-eng”命令来设置路径;它们在退出终端会话后丢失。运行“仿真器”以检查其启动速度。对我来说,它比Eclipse捆绑版快得多。如果这有效,请将Eclipse指向您刚刚编译的SDK。左窗格中的窗口首选项Android->选择SDK位置。它应该是带有“tools”子分区的dir,以及“platforms”子分区中的一些内容。对我来说,它是<source-base-dir>/out/host/linux-x86Apply/OK,如果需要,重新启动Eclipse。如果它没有任何抱怨,运行你的Android应用程序。在我的例子中,模拟器在几秒钟内启动,并在一分钟内完成引导。还有一点延迟,但我完全可以接受。
此外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器启动时间。我仍然不知道为什么默认情况下会这么长。无论如何,如果这对你有用,请享受:)
我有间歇性的缓慢模拟器(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和模拟器都是内存占用者。
现在在ADT21上,它为快速仿真器提供了更多选项。。。您应该使用512 MB RAM、较低的CPU时间、设备选择和较高的VM堆大小。为了获得更好的结果,您应该在CPU/ABI中使用Intel Atom。。。使用快照和CPU主机可能不会提高仿真器的速度,但有一些用于其他目的。