Why is the Android emulator so slow? How can we speed up the Android emulator?
我有一个2.67 GHz的赛扬处理器和一个1.21 GB的RAM在一台x86 Windows XP专业计算机上。
我的理解是,Android模拟器应该在这样一台机器上启动得相当快,但对我来说,它不是。我已经遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动模拟器方面取得了一些成功,但这是非常罕见的。如果可能,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常迟缓。我在3.5版(Galileo)和3.4版(Ganymede)中尝试过Eclipse IDE。
更新
现在可以为Android模拟器启用快速启动选项。这将保存模拟器状态,并在下次启动时快速启动模拟器。
单击Emulator编辑按钮,然后单击show高级设置bkbd。然后像下面的屏幕截图一样启用
Android开发工具(ADT)9.0.0(或更高版本)具有一项功能,允许您保存AVD(Emulator)的状态,您可以立即启动Emulator。您必须在创建新的AVD时启用此功能,或者您可以稍后通过编辑AVD来创建它。
此外,我还将
有关更多信息,请参阅下面给出的屏幕截图。
Creating a new AVD with the save snapshot feature.
Launching the emulator from the snapshot.
为了加速你的模拟器,你可以参考加速你的安卓模拟器!:
重要提示:请首先参考有关VT的Intel列表,以确保您的CPU支持Intel VT。
HAXM加速了缓慢的Android仿真器haxm代表"英特尔硬件加速执行管理器"
目前,它只支持Intel?VT(Intel虚拟化技术)。
Android模拟器基于QEMU。QEMU和主机系统上的HAXM驱动程序之间的接口被设计为与供应商无关。
为HAXM配置Android开发环境的步骤更新伊柯丽斯:确保Eclipse安装和ADT插件完全是最新的。
更新你的Android工具:每次Eclipse插件更新之后,更新您的Android SDK工具很重要。为此,启动android sdk manager并更新所有android sdk组件。要利用haxm,您必须至少使用版本17。
- 下载x86 Atom系统映像和Intel硬件加速执行管理器驱动程序。如下图所示:
运行"intelhaxm.exe"安装haxm驱动程序。它将位于以下位置之一:
C:\Program
Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_ManagerC:\Users\ \adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager
如果安装程序失败,并显示信息"必须打开Intel VT",则需要在BIOS中启用此功能。有关如何启用Intel VT(虚拟化技术)的说明,请参阅。
- 创建一个新的x86 AVD:按照下图操作:
- 或者对于新的SDK,
试试Android x86。它比谷歌安卓仿真器快得多。遵循以下步骤:
更新:最新版本的android studio(2.x)对捆绑的仿真器进行了重大改进。它响应迅速,有很多特性。
对于仍感兴趣的人:尝试使用性别。您可以在注册后下载Windows/Mac OS X/Linux版本。Eclipse的插件也可用:
The installation of the plugin can be done by launching Eclipse and going to"Help / Install New Software" menu, then just add a new Update Site with the following URL: http://plugins.genymotion.com/eclipse. Follow the steps indicated by Eclipse.
这个模拟器快速响应。
genymotion允许您控制设备的各种传感器,包括电池电量、信号强度和GPS。最新版本现在还包含相机工具。
Eclipse(旧版本)中包含的模拟器非常慢。
最近的模拟器比2010年要快。更新您的SDK/IDE。
就我个人而言,我用一部真正的手机来做测试。它更快,测试更现实。但是如果你想在很多不同的安卓版本上测试你的应用程序,并且不想买几部手机,你将不得不不时地使用模拟器。
模拟器的启动非常慢。好的是,您只需要启动一次模拟器。如果Emulator已经在运行,并且您再次运行应用程序,那么Emulator会相对快速地重新安装应用程序。当然,如果你想知道它在手机上的运行速度,最好在真实的手机上进行测试。
英特尔于2012年5月15日发布了ICS模拟器的推荐安装说明。这对我有用。模拟器现在很快,用户界面也很平滑。
前半部分的说明足够详细,因此我假设您能够使用Android SDK管理器和Intel Haxm安装Intel x86 Atom系统映像。
现在要确保设置了所有其他内容,以便您可以享受高性能仿真器:
- 安装Intel硬件加速执行管理器(HAXM)
然后开始:
1 | sudo kextload -b com.intel.kext.intelhaxm (mac) |
如果haxm工作正常,则在启动模拟器时可能会看到以下消息:
HAX is working and emulator runs in fast virtual mode
否则,您可能会看到此错误:
HAX is not working and the emulator runs in emulation mode emulator:
Failed to open the hax module
使用GPU仿真。在此写入过程中使用GPU仿真时,不能使用快照选项。确保GPU仿真设置为"是"。
将设备内存设置为1024 MB或更多,但不超过Intel HAXM设置。每个设备使用1024 MB,HAXM使用2048。
保存后请务必再次检查设置!模拟器对它允许您设置的内容非常挑剔,它将在不告诉您的情况下恢复配置。
使用这些设置,软件键盘将不再出现,屏幕背面、菜单和最近使用的键也不会出现。这似乎是当前ICS Intel x86系统映像的限制。您需要使用键盘快捷键。
在Mac OS上,您需要持有fn+control,以便f1-f12键工作。使用Control+箭头键可以执行上/下/左/右翻页。
可以使用以下命令创建Emulator.bat来启动Emulator。它会启动得更快。
1 | emulator.exe -cpu-delay 0 -no-boot-anim @ |
或在Unix(Mac或Linux风格)上:
1 | emulator -cpu-delay 0 -no-boot-anim @ |
我注意到,如果没有连接dalvik debug monitor server(DDMS),模拟器的启动速度会更快。因此,如果您从虚拟设备管理器"sdk setup.exe"启动Emulator,而Eclipse没有启动,那么Emulator的工作速度会更快。
如果您从Eclipse启动模拟器:DDMS就在那里,所以有时候模拟器非常慢,但有时候速度更快。
模拟器速度很慢。你真的无能为力,但是仿真器还有其他的选择。
性别-首选
虚拟机
安卓模拟器
YouWAVE
Windows Android模拟器
豆荚
安迪
为了使你的模拟器更快,你可以托管一个GPU并使用一个更轻的安卓版本(安卓2.3(姜饼))。在Mac上开发会更好。为什么要使用模拟器?使用真正的电话更有意义。
从android sdk工具的第17版开始,模拟器可以使用图形加速和CPU提供的扩展来提高效率。先决条件、完整配置和用户说明位于:
http://developer.android.com/guide/developing/devices/emulator.html加速
要启用GPU加速,请从命令行运行模拟器,或将"-gpu on"添加到AVD配置中的其他模拟器命令行选项。
1 | emulator -avd -gpu on |
要使用CPU机器扩展,必须安装驱动程序(注意,因为它可能与现有的virtualbox或vmware驱动程序冲突)。一旦安装了它,无论何时使用基于x86的AVD,它都会自动使用。
尝试禁用防病毒软件。也许它会使模拟器更快一点。
Android SDK版本17支持使用AMD和Intel虚拟化技术的虚拟机加速。
这个特性可以大大提高模拟器的性能!
有关更多详细信息,请参阅Android Emulator文档中的以下部分:配置虚拟机加速
不要忘记为您的操作系统安装适当的驱动程序:
- 在Windows上配置虚拟机加速
- 在Mac上配置虚拟机加速
- 在Linux上配置虚拟机加速
安装驱动程序并下载Android x86系统映像(如文档中所述)后,您应该能够使用x86映像创建新的AVD:
例如:
- 目标:Intel Atom x86系统映像-API级别10
- CPU/ABI:Intel Atom(x86)
Emulator启动选项中描述的选项
模拟器在空闲时似乎会减慢速度。这是通过快速地将鼠标移到侧面的按键上并观察亮起响应来实现的。作为解决方法,我在启动模拟器时将
1 | emulator @my_avd -no-boot-anim -qemu -icount auto |
@my_avd --启动名为"my-avd"的虚拟设备-no-boot-anim --禁用动画以更快地启动-qemu args... —将参数传递给qemu-icount [N|auto] —启用虚拟指令计数器,每个指令有2^n个时钟周期
这使得动画非常平滑,加速了10倍。
Android Emulator 9版有一个新的"快照"功能。您可以保存仿真器的状态(制作仿真器的图像),并避免在启动仿真器时启动。
你可以在谷歌I/O 2011:android开发工具Talk上查看仿真器问题,从0:40:20开始。
模拟器运行缓慢,因为完整的Android环境运行在模拟硬件上,指令也在模拟的ARM处理器上执行。
主要的瓶颈是渲染,因为它不在任何专用硬件上运行,但实际上是通过软件渲染来执行的。降低屏幕大小将大大提高模拟器的性能。获得更多/更快的内存没有帮助。
他们当时提到,他们正在开发一个接口,允许仿真器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用仿真器性能。
当前(2011年5月)版本的模拟器速度较慢,尤其是Android 3.0(蜂窝)版本,主要是因为模拟器不支持硬件GL——这意味着GL代码被转换为软件(实际上是ARM软件),然后在QEMU中的软件中进行仿真。这太慢了。他们正在解决这个问题,并且部分地解决了它,但是没有任何形式的发布质量。
看看谷歌2011年的I/O视频:Android开发工具,看看它的运行情况——跳到大约44分钟。
一个新的选项是Android的Visual Studio Emulator——它速度快、超V、x86,而且即使没有VS也可以免费下载。
尝试Android Studio的genymotion。快速燃烧!只需要一次安装。没有更多的AVD疼痛。
使用Intel x86 Emulator Accelerator
首先,安装Intel x86 Emulator Accelerator(HAXM)。这可以直接从Intel或使用Android SDK Manager下载。在SDK管理器中,它位于Extras下。
在我使用的android studio版本(0.8.9)中,android sdk manager下载haxm,但实际上不运行安装程序(我认为这将在以后的版本中修复)。要运行安装程序,我必须转到c:program files(x86)androidandroid studiosdkextrasintelhardwareu acceleratedexecutionu manager并手动启动intelhaxm.exe。
HAXM与Intel设备一起工作,因此用Intel CPU创建了一个新的模拟器。
使用Intel Atom x86创建新的AVD这大大改善了情况,但模拟器仍然感觉有点迟钝。最后一步是在Android虚拟设备管理器(AVD)中选择使用主机GPU。
在这些变化之后,安卓仿真器在5-10秒内启动并运行,没有任何明显的延迟。请注意,这些功能依赖于硬件(CPU/GPU),可能无法在某些系统上工作。
添加更多信息。
我最近将我的Ubuntu安装升级到Ubuntu & Nbsp 10.04 LTS(LUCID LYX),这又更新了我的Java版本:
1 2 3 | Java version"1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode) |
现在仿真器(虽然启动需要一段时间)的运行速度似乎比以前快。
可能值得人们升级他们的JVM。
这就是我注意到的,没人提过。
将所有可用处理器分配给仿真器
这是你可以尝试的。它确实为我加快了模拟器的速度,特别是在加载期间。我注意到仿真器只使用了可用CPU的单核。我将其设置为使用所有可用的处理器。
我用的是Windows7。
When the Android emulator is starting, open up the Task Manager, look under the Process tab, look for"emulator-arm.exe" or"emulator-arm.exe *32"... Right click on it, select Processor Affinity and assign as much processor as you like to the emulator.
Android仿真器速度非常慢。运行时需要800MB内存。如果您在Windows上,则可以使用Microsoft Android Emulator。它非常出色,为您提供了比Android Studio Emulator更多的功能。最重要的是它很快(只消耗13MB)。它附带了Visual Studio 2015技术预览版。我正在使用它,并对它感到满意。我下载并安装了整个vs-pack,我需要了解如何只安装vs-emulator。
用于Android的Visual Studio Emulator
编辑:尝试https://www.VisualStudio.com/vs/msft-android-Emulator/
开发了一段时间后,我的模拟器变得异常缓慢。我选择了擦除用户数据,它要好得多。我想加载您部署的每个APK文件需要时间。
好吧,既然有人建议安卓x86作为替代测试模拟器,我也会介绍我最喜欢的。这可能不是每个人的选择,但对我来说是完美的!
使用BlueStacks播放器。它运行Android 2.3.4,非常流畅和快速。有时它甚至比普通设备更快。唯一的缺点是,您可以只在API级别10和一个屏幕大小上测试应用程序,但是它非常适合测试它是否工作。只需运行连接播放器和
1 | adb connect 127.0.0.1 |
编译后立即安装。考虑到我有相当普通的计算机硬件(双核内存为4GB),这非常令人印象深刻。
我在Intel Core i7 920 2.67 GHz CPU上的间歇慢速模拟器(sdk v8.0)加载时间长达3分钟,运行在Xubuntu 10.04 VirtualBox 3.2.12来宾上,加载了Eclipse(3.6.1)。我将virtualbox来宾内存从1024 MB更改为2048 MB,从那时起,我再也没有经历过这种慢度(负载时间在33秒时一致,CPU负载在20%时一致)。Eclipse和模拟器都是内存占用器。
为了减少模拟器的启动时间,您需要在启动模拟器之前检查"禁用启动动画"。请参阅Android文档。
如果您不知道,则不需要每次运行/调试应用程序时都关闭模拟器。如果您在已经打开时单击运行/调试,您的APK文件将上载到模拟器并立即启动。仿真器只有在第一次启动时才会花费很长的时间。
以下是一些加速Android模拟器的提示:如何将Android模拟器的速度提高到400%。
加速Android模拟器和应用程序测试的好方法是安装或升级Android Studio至Android Studio 2.0版本,然后转到应用程序打开设置/首选项、转到构建、执行、部署→即时运行。单击启用即时运行。之后,这将确保您的项目具有正确的Gradle插件,可用于即时运行。
马上就要跑了
不过,Android Studio现在正在预览中,您现在可以试试。
我注意到我的模拟器(Eclipse插件)被我的NVIDIA图形卡消除混叠设置显著减慢。从图形菜单中删除2X消除混叠,并将其更改为应用程序控制,使其更具响应性。它仍然很慢,但比以前好多了。
对初学者来说,简单易行的解决方案。我尝试了很多方法,并停止了与日食结合的性别。genymotion只是向eclipse添加了一个虚拟设备。
一步一步地:
在我的例子中,这个解决方案是唯一快速的解决方案。Eclipse中没有模拟器能如此快速地工作,而且每种设置都非常缓慢。只有这个解决方案几乎可以实时工作。我可以推荐(笔记本i3,2.6 GHz)。
旧版Android运行得更快。当我在上网本上时,我会使用Android 1.5(API级别3)。不过,也有一些缺点——您的应用程序需要支持较旧的平台(显然),而ndk gdb需要运行android 2.2(api级别8)或更高版本。但是,定期在旧平台上测试应用程序无论如何都是一个好主意。
如果您有Intel CPU,请安装Intel硬件加速执行管理器。
然后在Emulator设置中将其分配为Emulator的CPU。当我在我的核心i7 CPU上执行此操作时,大约需要10分钟。现在它15秒后打开。
在3.4 GHz四核6 GB RAM、Windows7上,模拟器的速度非常慢!我通过模拟器下载了
有几件事确实让我加快了速度
1。通过选中AVD的编辑窗口中的"使用主机GPU"复选框,将渲染过程委派给GPU。
2。下载Intel Atom(x86)映像,或者如果您是Windows/Mac用户,则下载Intel x86 Emulator Accelerator HAXM
不幸的是,英特尔x86图像的问题是,你没有得到谷歌应用程序,他们只与ARM图像。
这就是性生活的用武之地
为了获得更好的体验,我推荐shop.genymotion.com许可的genymotion。如果你想测试一下,首先你可以在这里进行性行为。
您可以尝试我们的新安卓虚拟机,LeapDroid,它与原始安卓仿真器完全兼容。由于它使用的是虚拟化技术,而不是模拟技术,因此它提供了相当多的本地速度。此外,我们还使用了一种新的OpenGL技术,名为LeapGL,它以本机速度执行OpenGL图形。我们的虚拟机比其他虚拟机有最好的性能。
网址:http://www.leapdroid.com
源代码:https://github.com/leapdroid
LeapDroid与Eclipse和Android Studio完全兼容,因为它使用相同的ADB端口。
我想知道为什么没有人提到过
以下是性能比较的链接:https://medium.com/android news/how-visual-studio-emulator-for-android-can-improve-your-android-development-9e17a6213839.hlh7ba6ut
更好的是,APK文件甚至GAPP(或任何其他可闪烁的zip)都可以通过拖放方式安装。但是,缺点是它需要只在Windows上可用的Hyper-V(从Windows 8开始也需要)。其他限制(以及上述描述)和其他详细信息请参见:https://blogs.msdn.microsoft.com/visualtudioalm/2014/11/12/introducing-visual-studios-emulator-for-android/
我尝试从Eclipse(Indigo和Android1.5,没有快照)启动模拟器,45分钟后我停止了它,因为什么都没有发生。
统计数据:Phenom [email protected]兆赫,4 GB DDR2海盗船主宰者@800兆赫。AVD位于SSD驱动器上,模拟器位于7200 rpm HDD上。
我用
在命令中,导航到
1 | emulator.exe @<YourAVDFromEclipse> -no-boot-anim |
在Windows中,您可以在
这些项目从Eclipse内部运行,针对您启动的AVD,显示得很好:d
我的解决方案是维索尔。我得到两个最好的世界。我不会给我的机器充电太多,但我也可以在屏幕上看到我真正的Android设备,所以我不必伸手去拿,把手从键盘上拿下来等等。此外,在仿真器上总有一些功能不能发挥最佳效果。
有免费的广告版本和付费的,与其他解决方案相比,不会打破银行。
你可以尝试性别而不是Android模拟器。它比Android模拟器更快更好。
Android ADT 18现在包括一个(beta)GPU启用选项(只需从您的AVD属性启用GPU加速)。这是一个巨大的差异,甚至是集成电路现在感觉相对舒适。
我会坚持让你现在安装Bluestacks,因为它的工作原理与Emulator相同,在这方面有许多其他功能(例如,它提供了对Android市场的访问)。此外,您还可以以很高的性能速度直接运行从Eclipse到BlueStack设备/模拟器的应用程序。从Eclipse到BlueStack模拟器运行应用程序只需几秒钟。
我刚刚注意到一些我无法解释的事情,但是嘿,对我来说,它是有效的!
不管怎样,我是从源代码编译android的,内置的模拟器几秒钟后就启动了(我的机器是双核AMD 2.7 GHz),一分钟后,也许第一次运行时就启动了两个。另一方面,使用EclipseADT包导致了半小时的模拟器启动。不可接受。
在这里工作的解决方案(我没有办法在其他机器上测试它,因此如果您觉得有必要,请测试并验证):
- 在您的机器上下载并构建Android SDK。这可能需要一些时间(你知道,整个系统的编译是令人厌烦的)。可在此处找到说明:
- 初始化
- 下载
- 构建(我将命令改为'午餐sdk eng'和'make sdk-j4';此外,构建提示非常有用,尤其是与ccache和-jn选项有关)
- 完成后,运行"android",将出现sdk管理器。下载工具和所需的平台包。如果找不到命令,请尝试重新运行""。build/envsetup.sh'和'lunch sdk eng'命令用于设置路径;它们在退出终端会话后丢失。
- 运行"Emulator"检查启动速度。对我来说,它比Eclipse捆绑版快得多。
- 如果可以,将Eclipse指向刚刚编译的SDK。窗口首选项android在左窗格->选择sdk位置。它应该是dir,带有"tools"子目录和"platforms"子目录中的内容。对我来说是
。 - 应用/确定,必要时重新启动Eclipse。如果它没有任何抱怨,运行你的Android应用程序。在我的例子中,模拟器几秒钟后启动,一分钟内完成引导。还有点耽搁,但我完全可以接受。
另外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器的启动时间。我仍然不知道为什么违约这么久。不管怎样,如果这对你有用的话,享受一下吧:)
我建议您使用Android手机通过USB调试进行开发。与虚拟设备相比,它在测试应用程序方面提供了更好的经验和更好的输出。或者你也可以使用其他答案中提到的选项,可以使用BlueStacks应用程序播放器,在Android设备不可用的情况下也是一个不错的选择。
现在,我们可以在Chrome上使用弧焊机应用程序测试Android应用程序,而不是使用仿真器。Chrome应用程序运行时
你可以从这里下载性别仿真器。这是快速和高效的。
我在Mac电脑上也有类似的问题。我做了什么;
- 1)在模拟器上,设置显示->禁用屏幕方向
- 2)在Eclipse上,Emulator启动选项->- CPU延迟100
这对降低CPU使用率有一定的作用(不是在40-60%左右),而不是最终的解决方案。但同样的,CPU使用率不再大于100%!
我建议使用OpenGL设置。我有一个双核(四线程)i3-2350米运行在它的内部GPU上,如果我使用Swiftshaders,我会得到很糟糕的性能,但是将它改为"桌面本地OpenGL"(
如果设备无法启动,请使用设备配置中的
我不知道为什么,但在我的2011英特尔处理器上,它让世界变得与众不同。
过去我们在缓慢的Android模拟器上运行项目的日子已经一去不复返了。今天,安卓仿真器正在使用类固醇。是的,你听到了。没有其他模拟器比安卓模拟器快。有关详细信息,请访问我的日志:
http://androidexperience.blogspot.in/2016/01/android-emulator-multi-touch.html
我已经详细解释了新的安卓模拟器。过来看。
相信我,它们和你真正的设备一样快。
这就是我的工作:
- 将AVD RAM设置为512 MB
- 将SD卡内存设置为10 MB
- 设置一个大的SD卡内存大小是导致AVD缓慢的最大原因之一。
在启动时,通过转到"Windows"->"Preference"->"General"->"Startup and Shutdown",删除一些插件不需要的激活。同时确保你在任何视图中都不使用这些插件。
Eclipse不是字处理器。最好禁用拼写检查。禁用拼写检查将通过转到"Windows"-->"Preference"--"General"--"Editors"--"Text Editors"--"Spelling"来减少Eclipse负担。
当Eclipse构建项目时,它将删除所有输出文件夹并重建由其他编译器构建的类。我们可以禁用这些功能,例如删除输出文件夹和重建需要一些时间。Goto Windows -->首选--> Java>编译器-->
禁用对您不太有用的标签装饰,也将帮助您获得一些性能。转到Windows——>首选项——>常规——>外观——>标签装饰
关闭不需要的项目并使用工作集选项平稳地从一组项目移动到另一组项目。
如果您不需要Eclipse自动构建,也可以禁用它。转到项目——>自动生成(取消选中)
不要在编辑器中打开很多选项卡。最好有20个标签。定期关闭未使用的选项卡。为了打开资源,我们可以使用CTRL+Shift +R和CTRL+Shift +T(Java资源),而不是打开很多选项卡。
禁用不需要的插件。完整的J2EE Eclipse版本有一个禁用/卸载插件的选项。转到帮助——>软件更新——>管理配置。右键单击任何已安装的插件以获得禁用选项。如果此选项不可用,请转到"Windows"-->"Preference"--"Capability"并选中"Classic Update",以启用经典更新。现在,管理配置选项应该在帮助菜单中可用。
你需要更多的记忆。
这就是我为什么这么说:
我在Windows上使用virtualbox作为来宾运行Ubuntu10.10。我在虚拟机上安装了Eclipse和Android SDK。我的物理盒有4GB的内存,但是当我第一次配置Ubuntu虚拟机时,我只给它1GB。模拟器大约用了15分钟才启动。然后,我更改了配置,给了vm2GB,仿真器在不到一分钟的时间内运行。
我注意到仿真器在一段时间内会变慢。因此,可以删除速度非常慢的模拟器,并在AVD管理器的帮助下创建一个新的模拟器。我试过几次了,效果很好。
撰写本文时速度最快的模拟器是安卓SDK附带的内置x86模拟器。您可以在创建虚拟机的AVD管理器中找到它们。只需选择其中任何一个,然后选择CPU类型(选择x86以获得最佳性能)。它会和你的机器一样快。
最新的Android 4.0和4.0.3版本的机器可以在为您的Android模拟器提供一个帮助:在EC2上使用goldfish和x86 kvm支持构建Android IC-测试对象。
注:这仅用于开发目的。为了测试性能,您仍然需要使用一个真实的设备,或者在带有ARMCPU的模拟器上进行测试。
现在在ADT 21上,它为快速仿真器提供了更多的选项…您应该使用512 MB的RAM、较低的CPU时间、设备选择和较高的VM堆大小。为了获得更好的结果,您应该在CPU/ABI中使用Intel Atom…使用快照和CPU主机可能不会提高仿真器的速度,但还有一些对其他用途有用的。
尝试减小屏幕大小,也许你应该考虑使用Ubuntu。我也遇到过同样的问题,而且在使用Linux时,我在同一台PC上的模拟器的工作速度快了五倍。
简短回答:因为ARM->x86指令翻译。模拟器的工作方式与虚拟机类似,虚拟机的任务是启动一个成熟的操作系统,然后运行测试应用程序。ARM->x86翻译可能非常耗时,对您的应用程序来说要少些,但对于操作系统启动时要多一些(它与复杂性和涉及的指令数量成比例)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行更快的x86变体,因为不需要ARM->x86转换。不过,这并不是一个完美的解决方案:
Android应用程序使用ndk,并附带为ARM编译的本机libs(*.so),将无法在x86仿真器上工作,因此此类程序将无法运行。但是,如果您达到了这一点并开始处理ndk/native jni代码,那么您可能已经对模拟器有了足够的了解。
尝试在创建新的Android虚拟设备时减小模拟器的屏幕大小。
我已经看到,与AVD管理器中提供的默认选项相比,这将非常快地启动模拟器。
使用adb实用程序,我发现了一些更重要的信息。
模拟器实际上正在运行,但似乎是图形界面出了问题。
当Android启动屏幕打开时,您将永远等待,如下所示:
Emulator实际上正在运行,因为您可以运行以下命令行工具并查看列出的进程:
1 | adb -s emulator-5554 shell ps |
这将为您提供一个在设备上运行的进程列表,这些进程似乎卡住了。
我将输出通过管道传输到一个文件,下面是所有正在运行的进程的列表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | USER PID PPID VSIZE RSS WCHAN PC NAME root 1 0 696 500 c02ae25a 0805a406 S /init root 2 0 0 0 c02315a2 00000000 S kthreadd root 3 2 0 0 c021f9dc 00000000 S ksoftirqd/0 root 5 2 0 0 c022e8d7 00000000 S kworker/u:0 root 6 2 0 0 c022e085 00000000 S khelper root 7 2 0 0 c022e8d7 00000000 S kworker/u:1 root 255 2 0 0 c02886de 00000000 S sync_supers root 257 2 0 0 c028935e 00000000 S bdi-default root 259 2 0 0 c022e085 00000000 S kblockd root 267 2 0 0 c022e085 00000000 S ata_sff root 278 2 0 0 c04f610f 00000000 S khubd root 283 2 0 0 c022e085 00000000 S md root 297 2 0 0 c022e085 00000000 S cfg80211 root 298 2 0 0 c022e8d7 00000000 S kworker/0:1 root 413 2 0 0 c0283057 00000000 S kswapd0 root 481 2 0 0 c02cd713 00000000 S fsnotify_mark root 501 2 0 0 c022e085 00000000 S crypto root 590 2 0 0 c022e085 00000000 S iscsi_eh root 611 2 0 0 c048aa21 00000000 S mtdblock0 root 619 2 0 0 c048aa21 00000000 S mtdblock1 root 627 2 0 0 c048aa21 00000000 S mtdblock2 root 666 2 0 0 c022e8d7 00000000 S kworker/0:2 root 700 2 0 0 c022e085 00000000 S binder root 724 2 0 0 c022e085 00000000 S deferwq root 725 1 624 348 c02ae25a 0805a406 S /sbin/ueventd root 932 2 0 0 c055236e 00000000 S mmcqd/0 root 939 2 0 0 c0340f30 00000000 S yaffs-bg-1 root 941 2 0 0 c0340f30 00000000 S yaffs-bg-1 root 942 2 0 0 c0340f30 00000000 S yaffs-bg-1 system 943 1 1340 400 c056a35d b76a1eb6 S /system/bin/servicemanager root 944 1 5540 924 ffffffff b7646c11 S /system/bin/vold root 947 1 1548 504 c05785ce b766c163 S /system/bin/debuggerd radio 948 1 6420 1016 ffffffff b76d3c11 S /system/bin/rild system 949 1 20088 2876 ffffffff b7655eb6 S /system/bin/surfaceflinger drm 951 1 10480 2920 ffffffff b7585eb6 S /system/bin/drmserver keystore 954 1 5036 1416 c056a35d b765deb6 S /system/bin/keystore root 955 1 1324 440 c02d0083 b76b28ab S /system/bin/qemud shell 958 1 1428 668 c03e9ad9 b767fa76 S /system/bin/sh root 959 1 4680 304 ffffffff 08063530 S /sbin/adbd graphics 1012 1 17980 4276 ffffffff b7652eb6 S /system/bin/bootanimation media 4743 1 25288 6232 ffffffff b75beeb6 S /system/bin/mediaserver root 4744 1 3944 1164 00000000 b7628976 R /system/bin/netd root 4770 4744 0 0 c021de78 00000000 Z iptables root 4771 959 1768 540 00000000 b766fa76 R ps |
为了好玩,我运行了以下命令并杀死了"android"动画:
1 | adb -s emulator-5554 shell kill 1012 |
启动屏幕变为空白,所以确实发生了一些事情。
我尝试并成功地杀死了其他一些进程,这让我感觉很好,但仿真器似乎从未启动过。哦,好吧。我在运行一个8GB内存的四核i7。同时使用本问题中其他文章中描述的设置运行haxm。
注意:我将在2014年9月19日更新此消息-我了解到,仿真器将尝试启动实例,但不会完全与仿真器文件上的文件权限相关。由于复制方式的原因,它们被设置为只读,因此仿真器尝试安装并写入其"虚拟磁盘",但它的"虚拟磁盘"实际上是一个或一组文件,我的操作系统已将其设置为只读,因此失败。这些失败会导致模拟器永远无法启动。我将文件设置为完全访问,仿真器将在记录时间内启动。
使用Android x86比使用Android仿真器提供更好的生产力。
与Android x86 4.2相比,它提供了非常快速的调试。配置要快很多倍
它正在使用最新的Android x86 4.2(Jelly Bean)和VirtualBox。
我找到了不同的方式来连接互联网和亚洲开发银行。
步骤:1选择适配器案例1:仅互联网NAT适配器最简单的解决方案是使用一个NAT适配器,如果主机连接到Internet,它会直接将您连接到Internet,但是您将无法通过此设置获得ADB连接。
这里您将获得一个公共IP地址,因此您无法连接到主机。
案例2:仅ADB(仅主机适配器)最简单的解决方案就是只使用主机适配器。
注意:由于DHCP服务器设置,默认的仅主机适配器可能无法工作。为现有适配器创建新的
在这种情况下你必须小心。
如果您使用LAN进行Internet连接,则应将网桥适配器与以太网卡一起使用。它将为您提供本地IP地址,虚拟机将使用主机连接到Internet。
或者,如果您使用Wi-Fi,只需选择Wi-Fi适配器即可。
对于其他类型的连接,您应采用相同的方式。
步骤:2与ADB连接要检查IP地址,只需按alt+f1(对于控制台窗口)。(要切换回图形视图,请按alt+f7。)
您将看到控制台窗口。类型NETCFG。
它将显示IP地址。
现在移到主机上,运行命令提示符,并移到
1 | type adb connect <your IP address> |
例子
adb connect 192.168.1.51
注意:如果ADB没有运行或响应,可以执行以下操作。
1 2 3 | adb kill-server adb start-server |
您可以检查连接到ADB的设备:
1 | adb devices |
对于原始问题,请单击此处。
我昨天刚开始使用Windows7,现在也面临同样的问题。我发现并为我工作的最简单的解决方案是在模拟器中使用低配置设备。我使用NexusOne而不是Nexus7,并在Android虚拟设备中为设备选择快照。
另外,重要的是让模拟器保持打开状态。它同时在Eclipse和Android Studio中工作。
在一个窗口中,它表示当RAM超过700时,快照通常不会工作。因此,选择一个较低配置的可以很容易地帮助测试hello world,然后开发应用程序。稍后,我们可以在高端设备上进行测试。
对我来说,虚拟化支持不起作用,因为我的硬件不支持它。
添加更多的RAM并使用SSD驱动器。根据我的经验,Android Studio最好是在8到12 GB的RAM上使用SSD驱动器运行。
如果可以,切换到使用Ubuntu进行Android开发。我切换到Ubuntu14.04LTS进行Android开发,我很高兴我跳了起来。上面提到的所有步骤对窗户上的延迟几乎没有或根本没有影响。Linux是您所面临的所有问题的正确答案。
将当前Android Studio更新为Android Studio 2.0,并更新系统图像。
android studio 2.0仿真器比android以前的仿真器运行快约3倍,通过adb增强功能,您现在可以将应用程序和数据推送到仿真器比推送到物理设备快10倍。和物理设备一样,官方的Android模拟器也内置了Google Play服务,因此您可以测试更多的API功能。最后,新的模拟器具有丰富的新功能来管理呼叫、电池、网络、GPS等。
我刚使用了默认的android 3.1,速度非常慢,但自从我意识到我的代码与android 2.3.3兼容后,我就换了它。它的速度快了大约50%,而且仿真器看起来更像我的手机,并且有一个永久显示的键盘,这样更容易使用。
android studio 2.02已经发布,它有更快的模拟器,如果你想和第三方合作,使用genymotion模拟器,它们非常快。
在
我使用800x600像素,RAM设置为512MB,它的工作方式就像一个魅力,不需要占用大量的CPU时间。
启用快照可能不会使它在第一次运行时更快;不要使用大的sd大小。第一次运行时将SD卡大小调整为100 MB。
对于快速测试(<1秒),使用buildRoid将virtualbox的第一张网卡设置为"仅主机网络",然后运行
1 2 | C:\Program Files (x86)\Android\android-sdk\platform-tools>adb connect *.*.*.*:5555 connected to *.*.*.*:5555 |
(^)dos/bash(五)
1 2 | # adb connect *.*.*.*:5555 connected to *.*.*.*:5555 |
哪里*。**.*是通过单击BuildRoid主屏幕中的BuildRoid应用程序获得的BuildRoid IP地址。
在模拟设备时,尝试使用Intel x86 Atom存储映像进行相对更快的启动,而不是使用基于ARM的映像。
另一件需要注意的事情是,根据您的系统配置,运行带有1.21 GB RAM的Android仿真器可能是一种缓慢的体验,因为仿真器需要高达一定百分比的RAM来模拟设备,而不是忘记ADT使用的RAM。
尝试2.1-2.3.3的系统映像以获得至少可运行的体验。另外,不要忘记保存到快照以便更快地加载。尽管第一次装载可能需要时间。但是保存到快照肯定会节省一些时间。
haxm是一种让英特尔处理器的仿真器快速运行的方法,haxm是内核驱动程序部分,而用户空间仿真器部分是基于qemu的,这意味着qemu有一个分支使用haxm(这个qemu分支是非常特定于Android仿真器的(而且似乎也是基于较早版本的qemu)。
但是,当我使用带有4G内存的Intel Core i3处理器时,它对速度的影响并不大。所以这不是我的解决方案。
当我使用4GB RAM CPU仿真器时,它变成了RAM接收器,但为了使它更方便,我有一些方法更喜欢基于Android*86支持的仿真器。随着android studio现在引入了即时运行,所以在首次发布应用程序之后,安装速度变得更快了,但我一直面临着问题,似乎无法摆脱它。
我还使用了Droid4x,它对我来说非常方便,但我找不到安装不同API版本的方法,我将它与Kitkat一起使用,它比Android Emulator更快,而且还支持VT,所以我找到了另一种方法和一个很好的解决方案,即Visual Studio Emulator。您可以在这里了解更多信息,我使用的最新版本是LeapDro。我真的很厉害,看看这里的比较
我更喜欢在4GB RAM PC上使用真正的设备,然后使用模拟器。
首先,您需要将RAM升级到至少8GB。
如果无法升级RAM,请尝试在Android手机上运行该应用程序,方法是将其通过数据线连接,并将USB调试设置为打开。
此外,您还可以使用其他一些仿真器,如性别或氮氧化物。
然而,由于您似乎拥有的RAM的数量很大,即使是其他模拟器也可能很慢。
尝试缩小仿真器,它会使它更快一点,即使它不是真的感觉更快。
我也有同样的问题,但我通过从
现在每当我启动Eclipse或AVD时,我都会删除这个文件夹。之后,我的AVD将在20到30秒内启动,模拟器将以一个可以忽略的延迟顺利工作。
OPTIONAL : If the problem still persists, try to clone the NEXUS S
AVD.
Android Studio的性能在Linux中得到了极大的优化。Windows系统可能正在后台运行不同的重程序。Linux最适合有效地使用可用的系统资源。最近我在Kali Linux上安装了Android Studio。Emulator和Studio的性能比Windows快得多。
并且软件开发工具可以更快地从android sdk下载。因为包被捆绑在二进制文件中。二进制文件的大小较低。
是的,您是对的,因为本机Android模拟器比其他自定义模拟器(如genymotion)慢得多。我发现当我运行函数式葫芦安卓测试时。
On the native android emulator, this issue is produced when"timeout exception" occurs, so I moved to genymotion emulator who resolved the problem.
P.S:性别仿真器不再是免费的了。