我在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版本上测试你的应用程序,并且不想买几部手机,你就必须时不时地使用模拟器。
我注意到,如果没有连接Dalvik调试监控服务器(DDMS),仿真器启动速度会快得多。因此,如果您从Virtual Device Manager“SDK Setup.exe”启动仿真器,而Eclipse未启动,则仿真器的工作速度更快。
如果您从Eclipse:DDMS启动模拟器,那么有时模拟器非常慢,但有时速度更快。
模拟器的启动非常缓慢。好的是,您只需要启动模拟器一次。如果仿真器已经在运行,而您再次运行应用程序,则仿真器会相对快速地重新安装应用程序。当然,如果你想知道它在手机上的运行速度,最好在真手机上测试一下。
为此添加更多信息。
我最近将我的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。
您可以使用以下命令创建仿真器.bat以启动仿真器。它会启动得更快。
emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>
或者在Unix(Mac或Linux风格)上:
emulator -cpu-delay 0 -no-boot-anim @<avd name>
我有间歇性的缓慢模拟器(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和模拟器都是内存占用者。
我注意到我的模拟器(Eclipse插件)被我的Nvidia图形卡抗锯齿设置大大减慢了速度。从图形菜单中删除2倍的抗锯齿功能,并将其更改为应用程序控制,使其响应速度更快。它仍然很慢,但比过去更好。
使现代化
现在,您可以为Android Emulator启用快速启动选项。这将保存仿真器状态,并将在下次启动时快速启动仿真器。
单击Emulator编辑按钮,然后单击显示高级设置。然后启用快速启动,如下图所示。
Android开发工具(ADT)9.0.0(或更高版本)有一个功能,允许您保存AVD(仿真器)的状态,您可以立即启动仿真器。您必须在创建新的AVD时启用此功能,或者您可以稍后通过编辑AVD来创建它。
此外,我还将设备RAM大小增加到1024,这导致了一个非常快的仿真器。
有关更多信息,请参阅下面的截图。
使用保存快照功能创建新的AVD。
从快照启动仿真程序。
关于加速模拟器,您可以参考加速Android模拟器!:
使用ssd硬盘影响太大,我建议使用更合适的ram(8或更高)
在3.4 GHz四核6 GB RAM(Windows 7)上,模拟器的速度慢得无法使用!我通过模拟器下载了Launcher-Pro.apk,安装了它并将其设置为默认启动器。它使我的模拟速度提高了一倍!屏幕加载更平滑、更快。它似乎没有在2.1或2.2中下载,只有在2.0中下载。
尝试Android x86。它比谷歌Android模拟器快得多。遵循以下步骤:
安装VirtualBox。下载所需的ISO文件。将虚拟机创建为Linux 2.6/其他Linux,512 MB RAM,HD 2 GB。网络:PCnet Fast III,连接到NAT。您也可以使用桥接适配器,但您的环境中需要DHCP服务器。在模拟器上安装Android x86,运行它。按Alt+F1,键入netcfg,记住IP地址,按Alt+F7。在Windows XP系统上运行cmd,将目录更改为Android工具目录,键入adb connect<virtual_machine_IP>。启动Eclipse,打开ADT插件,找到设备,然后享受!
当前(2011年5月)版本的仿真器速度较慢,尤其是Android 3.0(蜂巢),主要是因为仿真器不支持硬件GL——这意味着GL代码被转换为软件(实际上是ARM软件),然后在QEMU中的软件中进行仿真。这太慢了。他们正在研究这个问题,并已部分解决,但没有任何发布质量。
查看视频GoogleI/O 2011:AndroidDevelopmentTools,看看它的运行情况——跳到大约44分钟。
我在Mac上也有类似的问题。我所做的;
1) 在仿真器上,设置显示->禁用屏幕方向2) 在Eclipse上,仿真器启动选项->-cpu延迟100
这些措施在降低CPU使用率方面有一定的效果(不是大约40-60%),而不是最终的解决方案。但同样,CPU使用率不再超过100%!
我只是使用了默认的Android 3.1,速度很慢,但当我意识到我的代码与Android 2.3.3兼容时,我就改用了它。它大约快50%,而且模拟器看起来更像我的手机,并且有一个永久显示的键盘,这样更容易使用。
模拟器在空闲时似乎会减慢速度。这一点可以通过快速将鼠标移到侧面的按键上并观察灯光的反应而变得明显。作为解决方法,我在启动仿真器时将-icount auto传递给QEMU。您可以创建一个名为my_avd.bat的批处理文件:
emulator @my_avd -no-boot-anim -qemu -icount auto
@my_avd—启动名为“my_avd”的虚拟设备-no boot anim—禁用动画以加快启动速度-qemu参数…--向qemu传递参数-icount[N|auto]—启用虚拟指令计数器,每个指令有2^N个时钟信号
这使动画变得非常流畅,并将adb安装速度提高了十倍。
较旧的Android版本运行速度更快。当我使用上网本时,我使用Android 1.5(API级别3)。但也有一些缺点——你的应用程序需要支持较旧的平台(显然),ndk-gdb需要运行Android 2.2(API级别8)或更高版本。但无论如何,定期在旧平台上测试应用程序是一个好主意。
你需要更多的记忆。
这就是我这么说的原因:
我正在Windows上使用VirtualBox作为来宾运行Ubuntu 10.10。我在VM上安装了Eclipse和Android SDK。我的物理机箱有4GB的内存,但当我第一次配置Ubuntu虚拟机时,我只给了它1GB的内存。模拟器大约需要15分钟才能启动。然后,我将配置更改为VM 2GB,仿真器在不到一分钟的时间内运行。
您可以在GoogleI/O 2011:AndroidDevelopmentTools上回顾仿真器问题,开始0:40:20。
模拟器运行缓慢,因为整个Android环境在仿真硬件上运行,指令也在仿真ARM处理器上执行。
主要的瓶颈是渲染,因为它不在任何专用硬件上运行,但实际上是通过软件渲染执行的。减小屏幕大小将大大提高仿真器性能。获得更多/更快的内存不会有帮助。
当时他们已经提到,他们正在开发一种接口,允许仿真器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用仿真器的性能。
我尝试从Eclipse(Indigo和Android1.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
在AVD管理器中,选择VD并单击编辑,将分辨率设置为很小,因为您可以读取VD上的文本。
我使用800x600像素,RAM设置为512 MB,它的工作方式就像一个魅力一样,不需要占用大量CPU时间。
从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,它都会自动使用。
Android SDK rev.17支持使用AMD和Intel虚拟化技术的虚拟机加速。
此功能可以大大提高仿真器性能!
有关更多详细信息,请参阅Android模拟器文档中的以下部分:配置虚拟机加速
不要忘记为您的操作系统安装适当的驱动程序:
在Windows上配置VM加速在Mac上配置VM加速在Linux上配置VM加速
安装驱动程序并下载Android X86系统映像(如文档中所述)后,您应该能够使用X86映像创建新的AVD:
例如:
目标:Intel Atom x86系统映像-API级别10CPU/ABI:Intel Atom(x86)
英特尔于2012年5月15日发布了ICS仿真器的推荐安装说明。这对我有用。模拟器现在很快,UI也很流畅。
前半部分的说明足够详细,因此我假设您能够使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom System Image。
现在,为了确保其他一切都已设置,您可以享受高性能模拟器:
安装Intel硬件加速执行管理器(HAXM)
然后开始:
sudo kextload -b com.intel.kext.intelhaxm (mac)
如果HAXM工作正常,则在启动仿真器时可能会看到以下消息:
HAX正在工作,仿真器以快速虚拟模式运行
否则,您可能会看到以下错误:
HAX不工作,仿真器在仿真模式仿真器中运行:无法打开hax模块
使用GPU仿真。在撰写本文时,当使用GPU仿真时,不能使用快照选项。确保GPU仿真设置为“是”。将设备内存设置为1024 MB或更大,但不能超过Intel HAXM设置。我每个设备使用1024 MB,HAXM使用2048 MB。
保存后始终仔细检查设置!模拟器对它允许您设置的内容非常挑剔,它会在不告诉您的情况下恢复配置。
使用这些设置,软件键盘不再显示,屏幕上的后退键、菜单键和最近的键也不再显示。这似乎是当前ICS Intel x86系统映像的一个限制。您需要使用键盘快捷键。
在Mac OS上,您需要按住fn+控制键,F1-F12键才能工作。可以使用控制+箭头键执行向上/向下/向左/向右翻页。
在编写本文时,最快的仿真器是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的仿真器上进行测试。
对于快速测试(<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应用程序获得的buildroidIP地址。
好吧,既然有人建议将Android x86作为替代测试模拟器,我也将介绍我的最爱。这可能不是每个人的选择,但对我来说,这是完美的!
使用Bluestacks播放器。它运行Android 2.3.4,非常流畅和快速。有时它甚至比普通设备更快。唯一的缺点是,你只能在API级别10上测试应用程序,并且只能在一个屏幕大小上测试,但它非常适合测试是否正常工作。只需通过运行
adb connect 127.0.0.1
编译后,它立即安装。考虑到我有一个相当普通的计算机硬件(双核和4GB的RAM),这非常令人印象深刻。
我会坚持你现在就安装BlueStacks,因为它的工作原理与模拟器相同,具有许多其他功能(例如,它可以访问Android市场)。此外,您还可以以极高的性能速度从Eclipse直接运行应用程序到BlueStack设备/仿真器。将应用程序从Eclipse运行到BlueStack仿真器只需几秒钟。
通过转到windows-->首选项-->常规-->启动和关闭,删除启动时某些插件的不必要激活。还要确保您在任何视图中都不使用这些插件
Eclipse不是文字处理器。最好禁用拼写检查。禁用拼写检查将通过转到Windows-->首选项-->常规-->编辑器-->文本编辑器-->拼写检查来减轻eclipse负担
当eclipse构建项目时,它将删除所有输出文件夹并重建其他编译器构建的类。我们可以禁用这些功能,因为删除输出文件夹和重建需要一些时间。转到Windows-->首选项-->Java-->编译器-->构建
禁用标签装饰(对你来说用处不大)也会帮助你获得一些性能。转到Windows-->首选项-->常规-->外观-->标签装饰
关闭不需要的项目并使用工作集选项从一组项目平滑地移动到另一组项目。
如果您不需要,也可以禁用Eclipse自动构建。转到项目-->自动生成(取消选中)
不要在编辑器中打开许多选项卡。最好有20个左右的标签。定期关闭未使用的标签。要打开资源,我们可以始终使用ctrl+shift+R和ctrl+shift+T(java资源),而不是打开很多选项卡
禁用不需要的插件。完整的J2EE eclipse版本具有禁用/卸载插件的选项。转到帮助-->软件更新-->管理配置。右键单击任何已安装的插件以获得禁用选项。如果此选项不可用,则通过转到Windows-->首选项-->能力并检查经典更新来启用经典更新。现在,管理配置选项应该可以在帮助菜单中使用
为了减少模拟器启动时间,您需要在启动模拟器之前检查“禁用启动动画”。请参阅Android文档。
如果您不知道,则无需在每次运行/调试应用程序时关闭模拟器。如果您在已经打开的情况下单击run/debug,则APK文件将被上传到模拟器并立即启动。Emulator只有在第一次启动时才会花费很长的时间。
以下是一些加快Android模拟器速度的提示:如何将Android模拟器的速度提高400%。
这是我注意到的,根本没有人提到它。
将所有可用处理器分配给仿真器
这是你可以尝试的。它确实为我加快了模拟器的速度,尤其是在加载期间。我注意到仿真器只使用可用CPU的一个内核。我将其设置为使用所有可用的处理器。
我正在使用Windows 7。
当Android模拟器启动时,打开任务管理器,在进程选项卡下查找“仿真器arm.exe”或“仿真器arm.exe*32”。。。右键单击它,选择Processor Affinity(处理器相关性),并将您喜欢的处理器分配给仿真器。
我只是注意到了一些我无法解释的事情,但嘿,对我来说,这很有效!
无论如何,我是从源代码编译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应用程序。在我的例子中,模拟器在几秒钟内启动,并在一分钟内完成引导。还有一点延迟,但我完全可以接受。
此外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器启动时间。我仍然不知道为什么默认情况下会这么长。无论如何,如果这对你有用,请享受:)
重要提示:请首先参考有关VT的Intel列表,以确保您的CPU支持Intel VT。
HAXM加速了缓慢的Android模拟器
HAXM代表“Intel硬件加速执行管理器”
目前,它仅支持Intel®VT(Intel虚拟化技术)。
Android模拟器基于QEMU。QEMU和主机系统上的HAXM驱动程序之间的接口设计为与供应商无关。
为HAXM配置Android开发环境的步骤
更新Eclipse:确保Eclipse安装和ADT插件是最新的。更新Android工具:在每次Eclipse插件更新后,更新Android SDK工具非常重要。为此,启动Android SDK管理器并更新所有Android SDK组件。要利用HAXM,您必须至少使用版本17。
下载x86 Atom系统映像和Intel硬件加速执行管理器驱动程序。如下图所示:
通过运行“IntelHaxm.exe”安装HAXM驱动程序。它将位于以下位置之一:C: \程序文件\Android\Android sdk\pextras\intel\Hardware_Accelerated_Execution_ManagerC: \Users\<user>\adt-bundle-windows-x86_64\sdk\pextras\intel\Hardware_Accelerated_Execution_Manager如果安装程序失败,并显示必须打开Intel VT,则需要在BIOS中启用此功能。请参阅“启用Intel VT(虚拟化技术)”中的说明,了解如何做到这一点。
创建新的x86 AVD:按照下图所示:
或者对于新的SDK,
现在在ADT21上,它为快速仿真器提供了更多选项。。。您应该使用512 MB RAM、较低的CPU时间、设备选择和较高的VM堆大小。为了获得更好的结果,您应该在CPU/ABI中使用Intel Atom。。。使用快照和CPU主机可能不会提高仿真器的速度,但有一些用于其他目的。
我昨天刚开始使用Windows7,面临着同样的问题。我发现并正在为我工作的最简单的解决方案是在模拟器中使用低配置设备。我使用Nexus One而不是Nexus 7,并在Android虚拟设备中为设备选择快照。
同样重要的是保持模拟器打开。它可以在Eclipse和AndroidStudio中工作。
在一个窗口中,它表示当RAM超过~700时,快照通常不起作用。因此,选择配置较低的一个很容易帮助测试HelloWorld,然后开发应用程序。稍后,我们可以在高端设备上进行测试。
对我来说,虚拟化支持不起作用,因为我的硬件不支持它。
更新:最新版本的AndroidStudio(2.x)对捆绑模拟器进行了重大改进。它反应灵敏,具有一系列功能。
对于仍然感兴趣的人:尝试使用Genymotion。注册后,您可以下载Windows/Mac OS X/Linux版本。Eclipse插件也可用:
插件的安装可以通过启动Eclipse并转到“帮助/安装新软件”菜单来完成,然后只需使用以下URL添加一个新的更新站点:http://plugins.genymotion.com/eclipse.遵循Eclipse指示的步骤。
该模拟器速度快、响应快。
GenyMotion允许您控制设备的各种传感器,包括电池电量、信号强度和GPS。最新版本现在还包含相机工具。
Android x86的使用提供了比Android模拟器更好的生产力。
与Android x86 4.2相比,它提供了极快的调试速度。配置速度快很多倍
它正在与最新的Android X86 4.2(果冻豆)和VirtualBox一起工作。
我找到了不同的方式来连接互联网和亚洲开发银行。
步骤:1选择适配器
情况1:仅Internet{NAT适配器}
最简单的解决方案是使用NAT适配器,如果主机连接到Internet,该适配器将直接将您连接到Internet。
在这里,您将获得一个公共IP地址,因此无法连接到主机。
情况2:仅ADB(仅主机适配器)
最简单的解决方案是只使用主机适配器。
注意:由于DHCP服务器设置,默认的仅主机适配器可能无法工作。创建新的HostOnlyAdapter或为现有适配器运行DHCP服务器。
案例3:亚洲开发银行和互联网(网桥适配器)
在这种情况下你必须小心。
如果您使用LAN进行Internet连接,则应将网桥适配器与以太网卡一起使用。它将为您提供本地IP地址,虚拟机将使用主机连接到Internet。
或者,如果您使用Wi-Fi,只需选择Wi-Fi适配器即可。
对于其他类型的连接,您应采用相同的方式。
步骤:2与亚洲开发银行的联系
要检查IP地址,只需按Alt+F1(对于控制台窗口)。(要切换回图形视图,请按Alt+F7。)
您将看到控制台窗口。键入netcfg。
它将显示IP地址。
现在转到主机,运行命令提示符,然后转到adb目录。
type adb connect <your IP address>
实例
adb连接192.168.1.51
注意:如果ADB未运行或未响应,您可以执行以下操作。
adb kill-server
adb start-server
您可以检查连接到ADB的设备:
adb devices
有关原始问题,请单击此处。
如果您有Intel CPU,请安装Intel Hardware Accelerated Execution Manager。
然后在“仿真器设置”中将其指定为仿真器的CPU。当我在Core i7 CPU上完成这项工作时,大约需要10分钟。现在它将在15秒内打开。
模拟器速度慢。你真的无能为力,但模拟器还有其他选择。
词源-首选虚拟机安卓模拟器YouWaveWindows Android模拟器一罐豆子安迪
为了让模拟器更快,您可以托管GPU并使用更轻的Android版本(Android 2.3(姜饼))。在Mac上开发会更好。为什么要使用模拟器,BTW?使用真正的手机更有意义。
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
使用ADB实用程序,我发现了一些更重要的信息。
模拟器实际上正在运行,但图形界面似乎是问题所在。
当Android启动屏幕打开时,您将一直等待,它看起来如下所示:
模拟器实际上正在运行,因为您可以运行以下命令行工具并查看列出的进程:
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
启动屏幕变为空白,因此确实发生了一些事情。
我尝试并成功地杀死了一些其他进程,这让我感觉很好,但模拟器似乎从未启动过。哦,好吧。我正在运行一个QuadCore i7,内存为8Gb。同样使用本问题其他文章中描述的设置运行haxm。
注意:我在2014年9月19日更新了这一点-我了解到,仿真器会尝试启动实例,但永远不会启动的这种奇怪行为与仿真器文件的文件权限有关。由于复制的方式,它们被设置为只读,因此模拟器尝试安装并写入其“虚拟磁盘”,但它的“虚拟磁盘“实际上是一个文件或一组文件,我的操作系统将其设置为只读的,因此失败。这些故障导致仿真器永远无法启动。我将文件设置为完全访问,仿真器将在记录时间内启动。
在模拟设备时,尝试使用Intel X86 Atom Storage Image进行相对更快的启动,而不是使用基于ARM的映像。
需要注意的另一件事是,根据您的系统配置,使用1.21 GB RAM运行Android模拟器可能是一种缓慢的体验,因为模拟器需要高达一定百分比的RAM,用于模拟设备,而不会忘记ADT使用的RAM。
尝试2.1-2.3.3的系统映像,以获得至少可运行的体验。此外,不要忘记“保存到快照”以加快加载速度。尽管第一次加载可能需要时间。但保存到快照肯定会节省一些时间。
为初学者提供简单易行的解决方案。我尝试了很多方法,并停止了将Genymon与Eclipse结合使用。Genymotion只需在Eclipse中添加一个虚拟设备。
一步一步地:
从这里下载包含VirtualBox的Genymotion。在VirtualBox中安装包含此包的内部版本。从这里将插件安装到Eclipse中。启动GenyMotion并创建您想要使用的虚拟设备,然后启动它。在Eclipse中,转到Window->Preferences->GenyMobile->GenyMotion,并将路径设置为GenyMotioon(在我的例子中,为C:\ProgramFiles/GenyMobile/GenyMotion)。单击Eclipse中要启动的项目名称。使用“运行方式”启动应用程序。在设备列表中,您应该看到模拟设备。你可以模仿你想要的。
在我看来,这个解决方案是唯一的快速解决方案。Eclipse中没有模拟器工作得这么快,而且每个设置都非常慢。只有此解决方案几乎实时工作。我可以推荐(笔记本i3,2.6 GHz)。
我也遇到过同样的问题,但我通过从C:\Users\User\中删除.android文件夹来解决这个问题。
现在,每当我启动Eclipse或AVD时,我都会删除该文件夹。之后,我的AVD在20到30秒内启动,模拟器工作平稳,延迟可以忽略不计。
可选:如果问题仍然存在,请尝试克隆NEXUS S平均日。
Android模拟器非常慢。运行时需要800MB内存。如果您在Windows上,可以使用Microsoft Android Emulator。它非常棒,为您提供了比Android Studio Emulator更多的功能。最重要的是速度快(仅消耗13MB)。它附带Visual Studio 2015技术预览版。我正在使用它,并对它感到满意。我下载并安装了整个VS包,我需要了解如何仅安装VS Emulator。
适用于Android的Visual Studio Emulator
编辑:尝试https://www.visualstudio.com/vs/msft-android-emulator/
有几件事确实让我加快了速度
1.通过选中AVD编辑窗口中的“使用主机GPU”复选框,将渲染过程委派给GPU。
2.下载Intel Atom(x86)映像,或者如果您是windows/mac用户,请下载Intel x86 Emulator Accelerator HAXM
不幸的是,Intel x86图像的问题是,你无法获得谷歌应用程序,它们只附带ARM图像。
这就是Genymotion派上用场的地方
下载并安装VirtualBox。对于Windows用户,不必单独安装VirtualBox,因为它可以从Genymotion站点获得,并与Genymotio仿真器捆绑在一起。转到Genymotion网站并注册。您将收到一封验证邮件,因此只需单击验证链接即可继续。下载并安装Genymotion仿真器。启动Genymotion。您可能需要在Genymotion设置中配置Android SDK位置的路径(如果您在非默认位置安装了SDK,则可能需要这样做)。因为这是第一次开始,所以没有设备。单击“添加”并下载新设备。要查看可用设备,请在弹出对话框中写入凭据,然后单击“连接”。选择设备并单击“开始”。
是的,你是对的,因为原生android模拟器比其他自定义模拟器(如genymotion)慢得多。我在运行功能性calabash android测试时发现了这一点。
在本机android模拟器上,当发生“超时异常”时会产生此问题,因此我转到解决此问题的genymotion模拟器。
P.S:genymotion模拟器不再免费。
加快Android模拟器和应用程序测试的好方法是将Android Studio安装或升级到Android Studio 2.0版本,然后转到应用程序打开设置/首选项,转到构建、执行和部署→ 即时运行。单击启用即时运行。之后,这将确保您的项目有正确的grade插件来使用Instant Run。
即时运行将如下所示
然而,Android Studio现在正在预览中,您可以立即尝试。
我建议您使用Android手机通过USB调试进行开发。与虚拟设备相比,它提供了更好的应用测试体验和更好的输出。或者,您也可以使用其他答案中提到的选项,并可以使用Bluestacks App Player,这在Android设备不可用的情况下也是一个不错的选项。
将当前的Android Studio更新为Android Studio 2.0,并更新系统图像。
Android Studio 2.0模拟器的运行速度比Android之前的模拟器快3倍,通过ADB增强,您现在可以将应用程序和数据推送到模拟器,速度比推送到物理设备快10倍。与物理设备一样,官方Android模拟器也内置了Google Play Services,因此您可以测试更多的API功能。最后,新模拟器具有丰富的新功能来管理通话、电池、网络、GPS等。
如果可以,请切换到使用Ubuntu进行Android开发。我切换到Ubuntu 14.04 LTS进行Android开发,我很高兴我成功了。上面提到的所有步骤在Windows上的延迟几乎没有或根本没有差别。Linux是您面临的所有问题的正确答案
我们过去在缓慢的Android模拟器上运行项目的日子一去不复返了。今天,Android模拟器正在使用类固醇。。是的,你听到了。没有其他模拟器比Android模拟器更快。您可以访问我的博客了解更多详细信息:
http://androidveteran.blogspot.in/2016/01/android-emulator-multi-touch.html
我已经详细解释了新的Android模拟器。过来看。
相信我,它们和你的真实设备一样快。
您可以尝试我们的新Android虚拟机Leapdroid,它与原始的Android模拟器完全兼容。由于它使用虚拟化技术而不是仿真,因此它提供了相当高的原生速度。此外,我们使用了一种名为LeapGL的新OpenGL技术,它以原生速度执行OpenGL图形。与其他vm相比,我们的vm具有最好的性能。
http://www.leapdroid.com
源代码:https://github.com/leapdroid
Leapdroid与Eclipse和AndroidStudio完全兼容,因为它使用相同的adb端口。
HAXM是一种使英特尔处理器仿真器快速运行的方法,HAXM是内核驱动程序部分,用户空间仿真器部分基于QEMU,这意味着QEMU有一个分支使用HAXM(这个QEMU分支非常特定于android仿真器(而且似乎也基于较旧版本的QEMU)。
但是,当我用我的英特尔酷睿i3处理器和4千兆字节的RAM时,它对速度没有太大影响。所以这不是我的解决方案。
当我使用4GB RAM cpu时,Emulator变成了RAM消耗器,但为了使它更方便,有一些方法我更喜欢基于Android*86支持的模拟器。由于android工作室现在推出了即时运行,所以在首次发布后,应用程序的安装变得更快,但我一直面临着这个问题,似乎没有办法摆脱这个问题。
我还使用了Droid4x,它对我来说非常方便,但我找不到安装不同api版本的方法,我使用了kitkat,它比android模拟器更快,而且还支持VT,所以我找到了另一种方法和一个很好的解决方案,那就是Visual Studio emulator。您可以在这里阅读更多关于它的信息,我最新使用的是LeapDroid,它真的很强大。请参阅此处的比较
我更喜欢在4GB ram PC上使用Real设备,然后使用模拟器。
我想知道为什么没有人提到Visual Studio Emulator作为替代方案。它比原生Android Studio Emulator快得多。
下面是性能比较的链接:https://medium.com/android-news/how-visual-studio-emulator-for-android-can-improve-your-android-development-9e17a6213839#.hlh7ba6ut
更好的是,只需拖放即可安装apk文件,甚至gapp(或任何其他可闪存zip)。然而,缺点是它需要Hyper-V,而Hyper-V仅在Windows上可用(从Windows 8开始也是如此)。其他限制(以及上述描述)和其他细节可在此处找到:https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/introducing-visual-studios-emulator-for-android/
我的解决方案是维索。我得到了两个最好的世界。我不会给我的机器加太多的电,但我也可以在屏幕上看到我真正的Android设备,所以我不必伸手去拿它,把手从键盘上拿下来等等。此外,总有一些功能在模拟器上运行得不太好。
有带广告的免费版本和付费版本,与其他解决方案相比,不会让银行破产。
使用Intel x86 Emulator加速器
首先,安装Intel x86 Emulator Accelerator(HAXM)。这可以直接从Intel或使用Android SDK Manager下载。在SDK管理器中,它位于Extras下。
在我使用的AndroidStudio版本(0.8.9)中,AndroidSDKManager下载HAXM,但实际上不运行安装程序(我认为这将在以后的版本中得到修复)。要运行安装程序,我必须转到C:\Program Files(x86)\Android\Android studio\sdk\pextras\intel\Hardware_Accelerated_Execution_Manager并手动启动intelhaxm.exe。
HAXM可与Intel设备配合使用,因此创建了一个带有Intel CPU的新Emulator。
使用Intel Atom x86创建新的AVD
这大大改善了性能,但模拟器仍然感觉有点迟钝。最后一步是选择在Android虚拟设备管理器(AVD)中使用主机GPU。
在这些更改之后,Android Emulator在5-10秒内启动并运行,没有任何明显的延迟。请注意,这些功能依赖于硬件(CPU/GPU),在某些系统上可能无法工作。
Android Studio的性能在Linux中得到了极大的优化。Windows系统可能在后台运行不同的重载程序。Linux最适合有效地使用可用的系统资源。最近我在Kali Linux中安装了android studio。模拟器的速度和工作室的性能比windows要好得多。
软件开发工具从android SDK下载速度更快。因为包捆绑在二进制文件中。二进制文件的大小很小。
我建议使用OpenGL设置。我有一个双核(四线程)i3-2350M运行在它的内部GPU上,如果我使用SwiftShaders,我会获得糟糕的性能,但将其更改为“桌面原生OpenGL”(扩展控制>设置>OpenGL ES渲染器)会使其运行平稳。
如果设备无法启动,请在设备配置中使用OpenGL ES API级别设置和GPU仿真设置。
我不知道为什么,但在我2011年的英特尔处理器上,它有着天壤之别。
首先,您需要将RAM升级到至少8GB。
如果无法升级RAM,请尝试在Android手机上运行应用程序,方法是通过数据线连接,并将USB调试设置为on。
此外,您可以使用一些其他模拟器,如GenyMotion或Nox。
然而,由于您似乎拥有大量的RAM,即使是其他仿真器也可能会变得缓慢。