为什么Android模拟器这么慢?我们如何加快Android模拟器的速度?

时间:2009-10-12 11:45:54

标签: android performance android-emulator genymotion qemu

我有 2.67 GHz赛扬处理器, x86 Windows XP 1.21 GB RAM专业机器。

我的理解是 Android模拟器应该在这样的机器上相当快地启动,但对我来说,它没有。我已经按照设置IDE,SDK,JDK等的所有说明进行操作,并且在快速启动模拟器方面取得了一些成功,但这种情况非常罕见。如果可能的话,我怎样才能解决这个问题?

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

76 个答案:

答案 0 :(得分:1410)

<强>更新

您现在可以为Android模拟器启用快速启动选项。这将保存模拟器状态,并在下次启动时快速启动模拟器。

单击“模拟器”编辑按钮,然后单击“显示高级设置”。然后启用Quick Boot,如下面的屏幕截图。

Quick boot

Android Development Tools (ADT) 9.0.0(或更高版本)具有允许您保存AVD(模拟器)状态的功能,您可以立即启动模拟器。您必须在创建新AVD时启用此功能,或者稍后可以通过编辑AVD来创建它。

此外,我已将Device RAM Size增加到1024,这会导致模拟器速度非常快。

有关详细信息,请参阅下面给出的屏幕截图。

  

使用保存快照功能创建新的AVD。

Android emulator with save snapshot feature.

  

从快照启动模拟器。

Launching the emulator from the snapshot.

为了加快您的模拟器速度,您可以参考 Speed up your Android Emulator!

答案 1 :(得分:1109)

重要提示:请首先参考the Intel list about VT以确保您的CPU支持Intel VT。

HAXM加快了慢速Android模拟器

HAXM 代表 - “英特尔硬件加速执行管理器”

目前,它仅支持英特尔®VT(英特尔虚拟化技术)。

Android模拟器基于QEMU。 QEMU与主机系统上的HAXM驱动程序之间的接口设计为与供应商无关。

HAXM

为HAXM配置Android开发环境的步骤

  1. 更新Eclipse: 确保您的Eclipse安装和ADT插件完全是最新的。

  2. 更新您的Android工具: 每次Eclipse插件更新后,更新Android SDK工具非常重要。为此,请启动Android SDK Manager并更新所有Android SDK组件。要利用HAXM,您必须至少发布第17版。

  3. Enter image description here

    • 下载 x86 Atom系统映像 Intel硬件加速执行管理器驱动程序。请按照下图:

    Enter image description here

    • 运行“IntelHaxm.exe”安装HAXM驱动程序。它将位于以下位置之一:

      • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

      • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

      如果安装程序失败并显示必须打开Intel VT的消息,则需要在BIOS中启用此功能。请参阅 Enabling Intel VT (Virtualization Technology) 中有关如何执行此操作的说明。

    Install .exe or .dmg

    • 创建 x86 AVD:请按照下图显示:

    Create AVD

    • 或者对于新的SDK, Enter image description here

答案 2 :(得分:589)

试试Android x86。它比Google Android模拟器快得多。请按照以下步骤操作:

  1. 安装VirtualBox
  2. 下载您需要的ISO file
  3. 创建一个虚拟机,如Linux 2.6 /其他Linux,512 MB RAM,HD 2 GB。网络:PCnet-Fast III,附于NAT。您也可以使用桥接适配器,但您的环境中需要DHCP服务器。
  4. 在模拟器上安装Android x86,运行它。
  5. Alt + F1 ,键入netcfg,记住IP地址,按 Alt + F7
  6. 在Windows XP系统上运行cmd,将目录更改为Android工具目录,键入adb connect <virtual_machine_IP>
  7. 启动Eclipse,打开ADT插件,找到设备,然后享受!

答案 3 :(得分:314)

更新:Android Studio(2.x)的最新版本对捆绑的模拟器进行了重大改进。它具有响应性,并具有一大堆功能。

对于那些仍然感兴趣的人: 尝试使用Genymotion。您可以在注册后下载适用于Windows / Mac OS X / Linux的版本。 Eclipse的插件也可用:

  

可以通过启动Eclipse并转到“帮助/安装新软件”菜单来完成插件的安装,然后只需使用以下URL添加新的更新站点:http://plugins.genymotion.com/eclipse。按照Eclipse指示的步骤进行操作。

此模拟器快速且响应迅速。

GenyMotion允许您控制设备的各种传感器,包括电池电量,信号强度和GPS。最新版本现在还包含相机工具。

答案 4 :(得分:203)

Eclipse(旧版)Eclipse中包含的模拟器非常慢。

最近的模拟器比2010年更快。更新SDK / IDE。

就个人而言,我使用真正的手机进行测试。它更快,测试更真实。但是如果你想在很多不同的Android版本上测试你的应用程序并且不想购买几部手机,你将不得不经常使用模拟器。

答案 5 :(得分:134)

模拟器的启动速度非常慢。好消息是你只需要启动模拟器一次。如果模拟器已在运行且您再次运行应用程序,则模拟器会相对快速地重新安装应用程序。当然,如果你想知道它在手机上运行的速度有多快,最好在真正的手机上进行测试。

答案 6 :(得分:125)

英特尔于2012年5月15日发布了recommended installation instructions for the ICS emulator。这对我有用。模拟器现在很快,UI也很流畅。

前半部分说明已经足够详细,因此我假设您可以使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom系统映像。

现在确保设置其他所有内容,以便您可以享受高性能的模拟器:

然后开始吧:

sudo kextload -b com.intel.kext.intelhaxm (mac)

如果HAXM工作正常,启动模拟器时可能会看到此消息:

  

HAX正在运行,模拟器以快速虚拟模式运行

否则,您可能会看到此错误:

  

HAX无效,仿真器在仿真模式仿真器中运行:
  无法打开hax模块

  • 使用GPU模拟。在撰写本文时,使用GPU模拟时无法使用“快照”选项。确保GPU仿真设置为“是”。

  • 将设备内存设置为1024 MB或更高,但不超过Intel HAXM设置。我每台设备使用1024 MB,HAXM使用2048。

保存后请务必仔细检查设置!模拟器对于您可以设置的内容非常挑剔,它会在不告诉您的情况下还原配置。

使用这些设置后,软件键盘不再出现,屏幕后退,菜单和最近的键也不再出现。这似乎是当前ICS Intel x86系统映像的限制。您需要使用the keyboard shortcuts

在Mac OS上,您需要按住 fn + control ,才能使 F1 - F12 键正常工作。可以使用控制+箭头键执行向上/向下/向左/向右翻页。

答案 7 :(得分:109)

您可以使用以下命令创建emulator.bat以启动模拟器。它会更快地开始。

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

或者在Unix(Mac或Linux版本)上:

emulator -cpu-delay 0 -no-boot-anim @<avd name>

答案 8 :(得分:102)

我注意到如果没有连接Dalvik Debug Monitor Server(DDMS),模拟器的启动速度会快得多。因此,如果从虚拟设备管理器“SDK Setup.exe”启动模拟器并且Eclipse未启动,则模拟器的工作速度会更快。

如果你从Eclipse启动模拟器:DDMS就在那里,所以有时候模拟器非常慢,但有时它会更快。

答案 9 :(得分:61)

模拟器很慢。你真的无能为力,但有模拟器的替代品。

  1. Genymotion - Preferred

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. Windows Android Emulator

  6. Jar of Beans

  7. Andy

  8. 为了让您的模拟器更快,您可以托管GPU并使用更轻的Android版本(Android 2.3(Gingerbread))。 在Mac上进行开发会更好。为什么要使用模拟器,BTW?使用真正的手机更有意义。

答案 10 :(得分:50)

从Android SDK Tools的第17版开始,模拟器可以使用图形加速和CPU提供的扩展来提高效率。先决条件和完整配置以及用户注释位于:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

要启用GPU aceleration,请从命令行运行模拟器或将“-gpu on”添加到AVD配置中的其他模拟器命令行选项。

emulator -avd <avd_name> -gpu on

要使用CPU机器扩展,您必须安装驱动程序(注意,因为它可能与现有的VirtualBoxVMware驱动程序冲突)。安装完成后,只要您使用基于x86的AVD,它就会自动使用。

答案 11 :(得分:46)

尝试停用您的防病毒软件。也许它会使模拟器更快一些。

答案 12 :(得分:44)

Android SDK rev。 17支持使用AMD和Intel虚拟化技术的虚拟机加速。

此功能可以大大提高仿真器的性能!

有关详细信息,请参阅Android模拟器文档中的以下部分:Configuring Virtual Machine Acceleration

不要忘记为您的操作系统安装适当的驱动程序:

安装驱动程序并下载Android X86系统映像后(如文档中所述),您应该能够使用x86映像创建新的AVD:

例如:

  • 目标:英特尔凌动x86系统映像 - API级别10
  • CPU / ABI:Intel Atom(x86)

答案 13 :(得分:40)

Emulator Startup Options 中描述的选项-cpu-delay <delay>可以提供帮助。

答案 14 :(得分:40)

仿真器似乎在空闲时放慢速度。通过快速将鼠标悬挂在侧面的键上并观察点亮响应,可以明显看出这一点。作为解决方法,我在启动模拟器时将-icount auto传递给QEMU。您可以创建一个名为my_avd.bat的批处理文件来为您执行此操作:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - 启动名为“my_avd”
  • 的虚拟设备
  • -no-boot-anim - 禁用动画以加快启动速度
  • -qemu args... - 将参数传递给qemu
  • -icount [N|auto] - 启用每条指令2 ^ N个时钟周期的虚拟指令计数器

这使得动画黄油变得光滑,加快了adb install十倍。

答案 15 :(得分:34)

您可以在Google I/O 2011: Android Development Tools谈话中查看模拟器问题,从0:40:20开始。

模拟器运行缓慢,因为完整的Android环境在模拟硬件上运行,并且指令也在模拟的ARM处理器上执行。

主要的窒息点是渲染,因为它没有在任何专用硬件上运行,但它实际上是通过软件渲染来执行的。降低屏幕尺寸将大大提高仿真器性能。获得更多/更快的记忆力无济于事。

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

答案 16 :(得分:34)

Android模拟器版本9具有新的“快照”功能。您可以save the state of the emulator(制作模拟器的图像)并避免在启动模拟器时启动。

答案 17 :(得分:30)

当前(2011年5月)版本的仿真器速度很慢,尤其是Android 3.0 (Honeycomb),主要是因为仿真器不支持硬件GL - 这意味着GL代码被转换为软件(事实上是ARM软件)然后在QEMU中的软件中进行模拟。这很疯狂。他们正在解决这个问题并将其部分解决,但没有任何类型的发布质量。

观看视频 Google I/O 2011: Android Development Tools 以查看其效果 - 跳至约44分钟。

答案 18 :(得分:29)

使用Intel x86仿真器加速器

首先,安装Intel x86仿真器加速器(HAXM)。这可以直接从英特尔下载或使用Android SDK Manager下载。在SDK Manager中,它位于Extras。

SDK Manager Screenshot

在我使用的Android Studio版本(0.8.9)中,Android SDK Manager下载HAXM但实际上并没有运行安装程序(我假设这将在以后的版本中修复)。要运行安装程序,我必须转到C:\ Program Files(x86)\ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager并手动启动intelhaxm.exe。

HAXM与英特尔设备配合使用,因此创建了一个采用英特尔CPU的新仿真器。

使用Intel Atom x86

创建新的AVD

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

AVD Create Options Screenshot

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

答案 19 :(得分:28)

答案 20 :(得分:28)

为Android Studio试用Genymotion。炽热快!只需要一次安装。不再有AVD疼痛。

答案 21 :(得分:27)

向此添加更多信息。

我最近将我的Ubuntu安装升级到Ubuntu 10.04 LTS(Lucid Lynx),后者又将我的Java版本更新为:

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可能是值得的。

答案 22 :(得分:25)

这是我注意到没人提到的。

将所有可用处理器分配给模拟器

这是你可以尝试的。它确实为我加速了模拟器,特别​​是在加载时。我注意到模拟器只使用可用CPU的单核。我将其设置为使用所有可用的处理器。

我正在使用Windows 7。

  

当Android模拟器启动时,打开任务管理器,在“进程”选项卡下查找“emulator-arm.exe”或“emulator-arm.exe * 32”...右键单击它,选择处理器关联性并为仿真器分配尽可能多的处理器。

Enter image description here

答案 23 :(得分:20)

Android模拟器死得很慢。运行时需要800MB内存。 如果您使用的是Windows,则可以使用Microsoft Android Emulator。它非常棒,为您提供比Android Studio Emulator更多的功能。最重要的是它很快(仅消耗13MB)。 它附带Visual Studio 2015技术预览版。我正在使用它并对它感到高兴。我下载并安装了整个VS包,我需要看看我们如何才能安装VS Emulator。

Visual Studio Emulator for Android

编辑: 试试https://www.visualstudio.com/vs/msft-android-emulator/

答案 24 :(得分:20)

好吧,既然有人建议将Android x86作为替代测试模拟器,我也会提出我的最爱。这可能不适合每个人,但对我来说这是完美的!

使用Bluestacks Player。它运行Android 2.3.4并且非常流畅和快速。有时甚至比普通设备更快。唯一的缺点是,您只需在API级别10上测试应用程序,并且仅在一个屏幕尺寸上进行测试,但它非常适合测试它是否正常工作。只需通过运行

将播放器与adb连接即可
adb connect 127.0.0.1 

编译完成后,立即安装。这是非常令人印象深刻的,考虑到我有一个普通的计算机硬件(双核与4 GB的RAM)。

答案 25 :(得分:20)

开发一段时间后,我的模拟器变得非常慢。我选择了擦除用户数据,而且效果要好得多。我猜你需要花时间加载你部署的每个APK文件。

答案 26 :(得分:19)

我有间歇性缓慢模拟器(SDK v8.0)加载时间,在Xubuntu 10.04上运行的Intel Core i7 920 2.67 GHz CPU上最多三分钟VirtualBox 3.2.12加载了Eclipse(3.6.1)的guest虚拟机。我将VirtualBox guest虚拟机内存从1024 MB更改为2048 MB,从那时起,我再也没有遇到过缓慢(加载时间一致为33秒,CPU负载一致为20%)。 Eclipse和模拟器都是内存耗尽。

答案 27 :(得分:16)

要减少仿真器启动时间,需要在启动仿真器之前检查“禁用启动动画”。请参阅the Android documentation

如果您不知道,每次运行/调试应用程序时都不需要关闭模拟器。如果您在已经打开时单击运行/调试,您的APK文件将上传到模拟器并立即启动。仿真器只有在第一次启动时才会花费很长时间。

以下是加速Android模拟器的一些提示: How to speed up the Android Emulator by up to 400%

答案 28 :(得分:16)

我注意到我的Eclipse显卡抗锯齿设置显着降低了我的模拟器(Nvidia插件)的速度。从图形菜单中删除2x抗锯齿并将其更改为应用程序控制使其响应更快。它仍然很慢,但比以前更好。

答案 29 :(得分:15)

加速Android模拟器和应用测试的好方法是将Android Studio安装或升级到Android Studio 2.0版本,然后转到app打开设置/首选项,转到构建,执行,部署→即时运行。单击“启用即时运行”。之后这将确保您拥有正确的gradle插件,以便您的项目使用Instant Run。 enter image description here

即时运行将如下所示 New Run & Stop Actions in Android Studio for Instant Run

然而Android Studio现在正在预览中,您现在可以尝试。

答案 30 :(得分:14)

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

答案 31 :(得分:13)

简单易用的初学者解决方案。我尝试了很多方法,并在与Genymotion结合使用时停止了。 Genymotion只是向Eclipse添加了一个虚拟设备。

一步一步:

  1. 使用here中包含的VirtualBox下载Genymotion。
  2. 安装此软件包包含在VirtualBox中构建。
  3. here安装插件到Eclipse中。
  4. 启动GenyMotion并创建您想要使用的虚拟设备,然后启动它。
  5. 在Eclipse中,转到 Window - &gt; 偏好设置 - &gt; GenyMobile - &gt; GenyMotion ,并设置GenyMotion的路径(在我的例子中,C:/ ProgramFiles / GenyMobile / Genymotion)。
  6. 单击Eclipse中要启动的项目名称。使用“运行方式”启动应用程序。在设备列表中,您应该看到模拟设备。
  7. 你可以模仿你想要的东西。
  8. 就我而言,这个解决方案是唯一的快速解决方案。 Eclipse中的模拟器从未如此快速地运行,并且每个设置都非常慢。只有这个解决方案几乎可以实时运行。我可以推荐(笔记本i3,2.6 GHz)。

答案 32 :(得分:9)

在3.4 GHz四核6 GB RAM,Windows 7上,仿真器速度非常慢! 我通过模拟器下载了Launcher-Pro.apk,安装了它并将其设置为默认启动器。它加倍我的仿真速度!屏幕加载更平滑,更快。它似乎不在2.1或2.2中下载,仅在2.0中下载。

答案 33 :(得分:8)

对我而言,一些事情肯定会让我感到高兴的是

1。通过选中AVD编辑窗口中的“使用主机GPU ”复选框将渲染过程委派给GPU。

2。下载 Intel Atom(x86)图片,或者如果您是 windows / mac 用户下载Intel x86仿真器加速器HAXM

不幸的是,使用英特尔x86图像的是,你没有获得谷歌应用程序,它们只带有ARM图像。

这是 Genymotion 派上用场的地方

  1. 下载并安装VirtualBox。对于Windows用户,没有必要单独安装VirtualBox,因为它可以从Genymotion站点获得,与Genymotion仿真器捆绑在一起。
  2. 转到Genymotion website并注册。您将收到验证邮件,因此只需单击验证链接即可继续。
  3. 下载并安装Genymotion模拟器。
  4. 启动Genymotion。您可能需要在Genymotion设置中配置Android SDK位置的路径(可能是您在非默认位置安装了SDK)。由于这是第一次启动,因此没有设备。单击“添加”并下载新设备。要查看可用设备,请在弹出对话框中编写凭据,然后单击“连接”。
  5. 选择设备,然后单击“开始”。

答案 34 :(得分:8)

如果您有Intel CPU,请安装Intel Hardware Accelerated Execution Manager

然后在仿真器设置中将其指定为仿真器的CPU。当我在Core i7 CPU上执行此操作时,大约需要10分钟。现在它在15秒内打开。

答案 35 :(得分:7)

我想知道为什么没有人提到Visual Studio Emulator作为替代。它比原生的Android Studio Emulator快。

以下是效果比较的链接:https://medium.com/android-news/how-visual-studio-emulator-for-android-can-improve-your-android-development-9e17a6213839#.hlh7ba6ut

enter image description here

更好的是apk文件甚至gapps(或任何其他可闪存的zip)都可以通过拖放来安装。但是,缺点是它需要Hyper-V,它只能在Windows上使用(从Windows 8开始也是如此)。其他限制(以及上述说明)和其他详细信息可在此处找到:https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/introducing-visual-studios-emulator-for-android/

答案 36 :(得分:7)

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

http://www.leapdroid.com

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

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

答案 37 :(得分:7)

我尝试从Eclipse启动模拟器(Indigo和Android 1.5,没有快照),45分钟后我停止了它,因为没有发生任何事情。

统计:Phenom Quad @ 2.6 MHz,带有4 GB DDR2 Corsair Dominator @ 800 MHz。 AVD位于SSD驱动器上,仿真器位于7200 RPM HDD上。

我使用-no-boot-anim选项手动启动了模拟器,并在30秒内加载。 :)

在CMD中,导航到emulator.exe文件所在的文件夹并输入

emulator.exe @<YourAVDFromEclipse> -no-boot-anim

emulator.exe文件位于工具下的Android SDK文件夹中。

在Windows中,您可以在C:\Users\<NAME>\.android\avd下找到Android虚拟设备(AVD)。

项目从Eclipse内部运行,针对您启动的AVD,显示得非常好:D

答案 38 :(得分:7)

为了获得更好的体验,我建议购买shop.genymotion.com许可的genymotion。 如果您想测试一下,首先可以获得genymotion here

答案 39 :(得分:6)

您可以尝试使用Genymotion而不是Android模拟器。它比android模拟器更快更好。

答案 40 :(得分:6)

Android ADT 18现在包含一个(beta)GPU启用选项(只需从您的AVD属性启用GPU加速)。它产生了巨大的差异,甚至ICS现在感觉相对舒适。

答案 41 :(得分:6)

我的解决方案是Vysor。我得到了两个最好的世界。我不会在我的机器上收取太多费用,但我也可以在屏幕上看到我真正的Android设备,所以我不需要伸手去拿它,把我的手放在键盘上等等。 此外,总有一些功能在模拟器上不起作用。

有免费版本的广告和付费的广告,与其他解决方案相比,不会破坏银行。

答案 42 :(得分:5)

我在Mac上遇到过类似的问题。我做了什么;

  • 1)在模拟器上,settings-display - &gt; 禁用屏幕方向
  • 2)关于Eclipse,模拟器启动选项 - &gt; -cpu-delay 100

那些对降低CPU使用率有一定影响(不是大约40-60%),而不是最终解决方案。 但同样,CPU的使用不再是> 100%了!

答案 43 :(得分:5)

我建议您使用Android手机进行USB调试开发。与虚拟设备相比,它提供了更好的测试应用程序体验和更好的输出。或者您也可以使用其余答案中提到的选项,并可以使用Bluestacks App Player,如果Android设备不可用,它也是一个不错的选择。

答案 44 :(得分:5)

我刚注意到一些我无法解释的东西,但是嘿,对我来说它有效!

我正在从源代码编译Android,内置仿真器在几秒钟内启动(我的机器是双核AMD 2.7 GHz),并且在一分钟内,也许在第一次运行时两个,系统启动了。另一方面,使用Eclipse ADT bundle导致半小时的模拟器启动。不能接受的。

解决方案在这里有效(我无法在其他机器上测试它,所以如果您有意愿,请进行测试和验证):

  • 在您的计算机上下载并构建Android SDK。这可能需要一些时间(你知道,整个系统的编译很烦人)。说明可以在这里找到:
    1. Initializing
    2. Downloading
    3. Building(我将命令更改为'lunch sdk-eng'和'make sdk -j4';除了构建提示很有用,特别是关于ccache和-jN选项)
  • 完成后,运行'android'并显示SDK管理器。下载工具和所需的平台包。如果找不到命令,请尝试重新运行'。 build / envsetup.sh'和'lunch sdk-eng'命令设置pathes;他们在退出终端会议后迷路了。
  • 运行'模拟器'以检查它启动的速度。对我来说,它比Eclipse捆绑的快得多。
  • 如果可行,请将Eclipse指向刚刚编译的SDK。左窗格中的Window-Preferences-Android - &gt;选择SDK位置。它应该是带有'tools'子目录的dir和'platforms'子目录中的东西。对我而言,<source base dir>/out/host/linux-x86
  • 应用/确定,如果需要,重启Eclipse。如果它没有抱怨什么,请运行您的Android应用。在我的情况下,模拟器在几秒钟内启动,并在一分钟内完成启动。还有一点延迟,但对我来说完全可以接受。

另外,我同意从快照运行并将状态保存到快照。我的建议仅涉及模拟器启动时间。我仍然不知道为什么它默认这么久。无论如何,如果这对您有用,请享受:)

答案 45 :(得分:5)

我会坚持你现在安装BlueStacks,因为它与具有许多其他功能的仿真器相同(例如,它可以访问Android Market)。您还可以以极高的性能速度直接从Eclipse运行应用程序到BlueStack Device / Emulator。只需几分之一秒就可以将您的应用程序从Eclipse运行到BlueStack模拟器。

答案 46 :(得分:5)

编写本文时最快的模拟器是随Android SDK一起提供的内置x86模拟器。您可以在创建虚拟机的AVD管理器中找到它们。只需选择其中任何一个,然后选择CPU类型(选择x86以获得最佳性能)。它将与您的机器一样快。

可以在 Giving your Android Emulator a Boost: Building Android ICS with Goldfish & x86 KVM support on EC2 - TestObject 中找到适用于Android 4.0和4.0.3的最新机器。

注意:这仅用于开发目的。要测试性能,您仍然必须使用真实设备或使用ARM CPU在仿真器上进行测试。

答案 47 :(得分:5)

我注意到模拟器在一段时间内变慢了。因此,可以删除非常慢的模拟器,并在AVD管理器的帮助下创建一个新模拟器。我已经尝试了几次并且效果很好。

答案 48 :(得分:5)

现在我们可以使用Chrome上的ARC Welder应用程序测试Android应用程序,而不是使用模拟器, App Runtime for Chrome

答案 49 :(得分:5)

你需要更多的记忆。

这就是我说的原因:

我在Windows上使用VirtualBox作为访客运行Ubuntu 10.10。我在VM上安装了Eclipse和Android SDK。我的物理盒有4 GB的内存,但是当我第一次配置Ubuntu虚拟机时,我只给它1 GB。模拟器大约需要15分钟才能启动。然后,我更改了配置,使VM为2 GB,模拟器在不到一分钟的时间内运行。

答案 50 :(得分:5)

您可以从here下载genymotion模拟器。这是快速有效的。

答案 51 :(得分:4)

那些日子已经一去不复返了,那时我们曾经在慢速Android模拟器上运行项目。今天,Android Emulators正在使用类固醇。 是的,你听到了我的声音。没有其他模拟器像Android模拟器一样快。 您可以访问我的博客了解更多详情:

http://androidveteran.blogspot.in/2016/01/android-emulator-multi-touch.html

我已经详细解释了新的Android Emulator。看看吧。

相信我,他们和你的真实设备一样快。

答案 52 :(得分:4)

我建议玩OpenGL设置。我有一个双核(四线程)i3-2350M在它的内部GPU上运行,如果我使用SwiftShaders我会得到糟糕的性能,但是将其改为“Desktop Native OpenGL”(Extended Controls > Settings > OpenGL ES Renderer)会让它运行顺畅

如果设备无法启动,请使用设备配置中的OpenGL ES API Level设置和GPU仿真设置进行播放。

我不知道为什么,但在我的2011英特尔处理器上,它创造了一个与众不同的世界。

答案 53 :(得分:4)

这对我有用:

  • 将AVD RAM设置为512 MB
  • 将SD卡内存设置为10 MB
  • 设置较大的SD卡内存大小是导致AVD缓慢的最大原因之一。

答案 54 :(得分:4)

通过转到Windows - &gt;首选项 - &gt;常规 - &gt;启动和关闭,在启动时删除某些插件的不需要的激活。另外,请确保您不要在任何视图中使用这些插件

Eclipse不是文字处理程序。最好禁用拼写检查。禁用拼写检查将通过转到Windows来减少日食负担 - &gt;首选项 - &gt;常规 - &gt;编辑器 - &gt;文字编辑器 - &gt;拼写

当eclipse构建项目时,它将删除所有输出文件夹并重建由其他编译器构建的类。我们可以禁用这些功能,因为删除输出文件夹和重建将需要一些时间。转到Windows - &gt;首选项 - &gt; Java - &gt;编译器 - &gt;构建

禁用对您使用较少的标签装饰也可以帮助您获得一些性能。转到Windows - &gt;首选项 - &gt;常规 - &gt;外观 - &gt;标签装饰

关闭不需要的项目并使用工作集选项从一组项目顺利移动到另一组项目。

如果您不需要,也可以禁用Eclipse自动构建。转到项目 - &gt;自动构建(取消选中)

不要在编辑器中打开很多标签页。最好有大约20个标签。定期关闭未使用的标签。要打开资源我们总是可以使用ctrl + shift + R和ctrl + shift + T(java资源)而不是打开很多标签

禁用不需要的插件。完整的J2EE eclipse版本有一个禁用/卸载插件的选项。转到帮助 - &gt;软件更新 - &gt;管理配置。右键单击任何已安装的插件以获取禁用选项。如果此选项不可用,请转到Windows - &gt; Preference - &gt; Capabilty并检查经典更新,以启用经典更新。现在,管理配置选项应该在帮助菜单中可用

答案 55 :(得分:3)

添加更多内存并使用SSD驱动器。根据我的经验,Android Studio最好使用SSD驱动器在8到12 GB的RAM上运行。

答案 56 :(得分:3)

尝试缩小屏幕尺寸,也许您应该考虑使用Ubuntu。我遇到了同样的问题,并且在使用Linux时,我在同一台PC上的模拟器工作速度提高了五倍。

答案 57 :(得分:3)

我刚刚使用了默认的Android 3.1,它非常慢,但是因为我意识到我的代码是Android 2.3.3兼容的,所以我切换到了。它的速度提高了约50%,仿真器看起来更像我的手机,并且键盘永久显示,因此更易于使用。

答案 58 :(得分:3)

使用ADB实用程序我发现了一些重要的信息。

模拟器实际上正在运行,但似乎图形界面可能是问题。

当Android启动画面启动并且您正在等待时,它看起来如下所示: enter image description here

模拟器实际上正在运行,因为您可以运行以下命令行工具并查看列出的进程:

adb -s emulator-5554 shell ps 

这将为您提供在设备上运行的进程列表,这些进程似乎卡住了。

我将输出传送到文件,这是所有正在运行的进程的列表:

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”动画:

adb -s emulator-5554 shell kill 1012

启动画面变得空白,所以确实发生了一些事情。

我尝试并成功杀死了其他一些进程,这让我感觉很好,但模拟器似乎仍然没有开始。那好吧。 我正在运行带有8Gb内存的QuadCore i7。还使用此问题中其他帖子中描述的设置运行haxm。

注意:我在09/19/2014更新了这个 - 我了解到这种奇怪的行为,模拟器会尝试启动实例,但绝不会将所有文件权限都与模拟器文件。由于它们的复制方式,它们被设置为只读,因此模拟器尝试安装并写入其“虚拟磁盘”,但它的“虚拟磁盘”实际上是我的操作系统已设置为读取的文件或文件集 - 只有它失败了。这些故障导致仿真器永远不会启动。我将文件设置为完全访问权限,模拟器在记录时启动。

答案 59 :(得分:3)

简短回答:因为ARM - &gt; x86指令翻译。模拟器的工作方式与虚拟机的工作方式类似,后者的任务是启动完整的操作系统并运行测试应用程序。 ARM - &gt; x86翻译可能非常耗时,对于您的应用程序而言更少,但在操作系统启动时更多(它与复杂性和所涉及的指令数量成正比)。

有人建议在x86模拟器上运行代码。这意味着不是加载基于ARM的操作系统,而是加载x86变体,它将在x86机器上运行得更快,因为不需要ARM-> x86转换。不过,这不是一个完美的解决方案:

使用NDK且包含为ARM编译的本机库(* .so)的Android应用程序将无法在x86模拟器上运行,因此这些程序将无法运行。但是,如果你达到这一点并开始处理NDK /本地JNI代码,你可能已经对模拟器了解得足够多了。

答案 60 :(得分:3)

尝试在创建新的Android虚拟设备时减小模拟器的屏幕大小。

我已经看到,与AVD管理器中提供的默认选项相比,这将非常快地启动模拟器。

答案 61 :(得分:3)

使用Android x86可提供比Android模拟器更高的工作效率。

使用Android x86 4.2时,与Android模拟器相比,它提供了极快的调试速度。它的配置速度要快很多倍

正在使用最新的Android X86 4.2(Jelly Bean)和VirtualBox

我找到了不同的方法来连接互联网和ADB

步骤:1选择适配器

案例1:仅限Internet {NAT适配器}

最简单的解决方案是使用NAT适配器,如果主机连接到Internet,它将直接将您连接到Internet,但是您不会通过此设置获得ADB连接。

在这里,您将获得一个公共IP地址,因此无法连接到主机。

NAT Adapter

案例2:仅ADB(仅限主机适配器)

最简单的解决方案就是使用仅限主机的适配器。

Host Only Adapter Settings

注意:由于DHCP服务器设置,默认的仅限主机的适配器可能无法正常工作。为现有的适配器创建新的HostOnlyAdapter或运行DHCP server

案例3:适用于ADB和Internet(桥接适配器)

在这种情况下你必须小心。

如果您使用LAN进行Internet连接,则应将桥接适配器与以太网卡配合使用。它将为您提供本地IP地址,虚拟机将使用主机连接到Internet。

或者,如果您使用Wi-Fi,只需选择Wi-Fi适配器即可。

对于其他类型的连接,您应该采用相同的方式。

Bridge Adapter

步骤:2与ADB连接

要检查IP地址,只需按 Alt + F1 (对于控制台窗口)。 (要切换回图形视图,请按 Alt + F7 。)

您将看到控制台窗口。输入 netcfg

它将显示IP地址。

现在转到主机,运行命令提示符,然后转到adb目录。

type adb connect <your IP address>

实施例

  

adb connect 192.168.1.51

注意:如果ADB未运行或响应,您可以执行以下操作。

adb kill-server

adb start-server

您可以检查连接到ADB的设备:

adb devices

原始问题click here

答案 62 :(得分:3)

我昨天刚刚开始使用Windows 7,并且遇到了同样的问题。我发现并且正在为我工​​作的最简单的解决方案是在模拟器中使用低配置设备。我使用Nexus One而不是Nexus 7,并在Android虚拟设备中选择设备的快照。

而且,重要的是要打开模拟器。它适用于Eclipse和Android Studio。

在一个窗口中,它表示当RAM超过700时,快照通常不起作用。因此,选择较低配置的一个很容易帮助测试Hello World,然后开发您的应用程序。之后,我们可以在高端设备上进行测试。

对我来说,虚拟化支持不起作用,因为我的硬件不支持它。

答案 63 :(得分:3)

AVD Manager中选择VD并单击编辑,将分辨率设置为较小,因为您可以阅读VD上的文本。

我使用800x600像素,RAM设置为512 MB,它就像一个魅力而不会占用大量CPU时间。

答案 64 :(得分:3)

现在在ADT 21上,它为快速仿真器提供了更多选项...您应该使用512 MB RAM,更低的CPU时间,设备选择和VM堆大小。为了获得更好的结果,您应该在CPU / ABI中使用Intel Atom ...使用快照和CPU主机可能不会提高模拟器的速度,但有其他用途的有用。

答案 65 :(得分:2)

在模拟设备时,尝试使用英特尔X86 Atom存储映像进行相对更快的启动,而不是使用基于ARM的映像。

另外需要注意的是,根据您的系统配置,运行具有1.21 GB RAM的Android模拟器可能是一种缓慢的体验,因为模拟器需要高达某些百分比的RAM来用于模拟设备,不要忘记ADT使用的RAM。

尝试使用2.1 - 2.3.3的系统映像,以获得至少一个可运行的体验。另外,不要忘记保存到快照以便更快地加载。虽然第一次加载可能需要时间。但保存到快照肯定会节省一些时间。

答案 66 :(得分:2)

尝试按比例缩小模拟器,它会使它更快一点,即使它没有真正感觉更快。

答案 67 :(得分:2)

启用快照可能不会在第一次运行时加快速度;不要去大SD大小。在第一次运行时将SD卡大小调整为100 MB。

答案 68 :(得分:2)

Android studio 2.02已经推出,它有更快的模拟器,如果你想与第三方一起使用,使用Genymotion模拟器,它们非常快

答案 69 :(得分:2)

对于快速测试(<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应用程序获得的buildroid IP地址。

答案 70 :(得分:2)

如果可以,请切换到使用Ubuntu进行Android开发。我转而使用Ubuntu 14.04 LTS进行Android开发,我很高兴我跳了起来。所提到的所有步骤在Windows上的延迟几乎没有差别。 Linux是您面临的所有问题的正确答案

答案 71 :(得分:1)

HAXM是一种让英特尔处理器快速模拟器的方法HAXM是内核驱动程序部分,而用户空间模拟器部分基于QEMU - 这意味着有一个QEMU的分支使用HAXM(这个QEMU分支是特定于android模拟器的(并且似乎也基于旧版本的QEMU)。

但是当我使用 intel core i3 处理器和 4 GigaBytes RAM时,它对速度的影响并不大。所以这对我来说不是一个解决方案。

因为我正在使用4GB RAM cpu Emulator变为RAM eater但是为了使它更方便,有一些方法我更喜欢基于Android*86支持的模拟器。而Android工作室现在介绍Instant-Run所以在第一次启动应用程序安装变得更快,但我总是遇到问题,似乎没有办法摆脱这个。

我也使用了Droid4x,这对我来说很方便,但我找不到安装不同api版本的方法,我用 kitkat 来加快速度然后是Android模拟器,它也是支持VT支持,所以我找到了另一种方法和一个好的解决方案 Visual Studio Emulator 你可以阅读更多关于它{{3我使用的最新版本是here它真的很强大请参阅比较LeapDroid

我更喜欢在4GB ram PC上使用Real设备和模拟器。

答案 72 :(得分:1)

首先,您需要将RAM升级到至少8GB。

如果您无法升级RAM,请尝试通过数据线和USB调试设置为ON来连接Android手机上的应用程序。

此外,您可以使用其他一些模拟器,例如GenyMotionNox

但是,由于您似乎拥有的RAM量,即使其他仿真器也可能会变慢。

答案 73 :(得分:0)

我遇到了同样的问题,但我通过删除.android中的C:\Users\User\文件夹来解决此问题。

现在每次启动Eclipse或AVD时,我都会删除该文件夹。之后,我的AVD在20到30秒内启动,仿真器平稳运行,延迟时间可以忽略不计。

  

可选:如果问题仍然存在,请尝试克隆NEXUS S.   AVD。

答案 74 :(得分:-1)

是的,你是对的,因为原生的android模拟器比其他自定义模拟器如 genymotion 非常慢。 我想通了,当我运行功能性葫芦安卓测试时。

  

在本机Android模拟器上,当出现“超时异常”时会产生此问题,因此我转移到解决问题的 genymotion 模拟器。

P.S: genymotion 模拟器不再免费。

答案 75 :(得分:-1)

Android Studio性能在Linux中得到了极大的优化。 Windows系统可能在后台运行不同的重程序。 Linux最适合有效地使用可用的系统资源。最近我在Kali Linux上安装了android studio。模拟器和工作室性能的速度比Windows好。

软件开发工具可以从android SDK更快地下载。由于包捆绑在二进制文件中。二进制文件的大小很低。