Mac上的Android模拟器运行缓慢

25

首先,我知道类似这个问题的话题有很多,我在stack overflow上使用了搜索功能。

但是大部分的问题似乎都是关于长时间的启动时间。

对于我来说,模拟器非常慢,只是从一个主屏幕滑到另一个主屏幕就像看幻灯片一样。我在虚拟设备中添加了更多的“RAM”,但没有任何改变。

我该如何解决这个问题?

我正在使用Mac OS X Lion上的Macbook Pro 2010。


这是一个模拟器,它会比较慢。 - Dave Newton
上次我在一台独立的Windows笔记本电脑上使用模拟器时,它运行得非常流畅。 - lucas32
1
Windows和OSX不同,有很多差异。虚拟设备中的RAM并不能加速运行速度,但是如果可能的话,模拟器的程序设置可以产生影响。 - Dave Newton
你的MacBook Pro有多少内存?我使用的是2011年底款,配备8GB内存和Lion系统。虽然速度有点慢,但绝对不像你描述的那么夸张。 - Code Poet
1
最终可以使用官方的Android工具进行虚拟化,即使启用GPU加速,它也能以本地速度运行。https://dev59.com/G2sz5IYBdhLWcg3wYGkz#10754883 - Pedro
显示剩余3条评论
7个回答

49

在最新版的Android SDK中,支持x86和本地执行。现在可以在Mac上以本地速度运行模拟器,但需要手动进行一些工作。

首先,您需要最新的SDK Tools rev.19+和Platform tools rev.11+,Android x86 Atom 4.0.3到4.4的系统映像以及Intel Hardware Accelerated Execution Manager (HAX),这些都来自于Android SDK Manager。

之后,您需要安装HAX,不幸的是,SDK Manager下载了一个过时的版本。这里推荐使用Intel-HAXM hotfix v1.0.8

当您创建一个新的AVD来使用这个最新的系统映像并启用GPU支持时(目前快照支持与GPU不兼容,但仍然值得尝试),VM将在几秒钟内启动。

它极大地加速了Android开发进程,只可惜没有直接实现这样的功能。


我需要重启Eclipse才能使用CPU / ABI Intel Atom(x86)选项。 - SuperSkunk
我安装了一个Nexus7镜像,选择了原始选项,并将分辨率更改为13英寸,启用了HAX(当然使用Intel Atom x86作为CPU),并启用了主机GPU。速度非常快!之前在Nexus10上尝试(使用原始分辨率)非常卡顿和缓慢! - Paschalis
目前SDK安装了当前的HAX版本。顺便说一句,这个答案应该被接受!(来自Victor MMS的问候;-) - momo
我现在成功地让4.1.2和4.2.2模拟器运行得非常流畅,感谢这个答案。 - jfroom
你让我省去了成千上万小时的无用功! - Alessio Dal Bianco

5

3

尝试使用Genymotion模拟器!它非常快,比其他模拟器更轻巧!

  1. 前往https://cloud.genymotion.com/page/customer/edit/进行注册
  2. 下载Intellij Idea/Android Studio插件和应用程序(适用于Linux/Mac/Windows)
  3. 安装应用程序。安装插件(Preferences/Plugins/Install from disc)
  4. 打开应用程序。使用注册凭据登录。从Genymotion的云中下载图像(例如没有Gapps的Nexus7)
  5. 在IntelliJ/Android Studio中选择Genymotion图标,然后选择应用程序路径
    1. 在Genymotion模拟器中运行您的应用程序!注意:它将显示为“USB设备”,而不是模拟器!

*我已尝试使用Intel HAXM的Nexus7。它也非常快,但非常占空间!Genymotion要轻得多!

编辑2:使用此模拟器时我遇到了一些奇怪的错误。当运行模拟器时,如果物理键盘语言不是英语,我无法向EditText添加文本输入!


2
这个Genymotion真的很快,让我感到非常高兴!这是我为我的2009年后期运行MountainLion服务器的MacMini找到的最好的提示。非常感谢Paschalis! - iOS-Coder
一开始它很慢,但使用了一段时间后就变得非常快了。也许它在做一些缓存?非常感谢你的推荐! - Zeyad Shaban

2

如果您仍然想尝试使用默认模拟器,请注意以下几点:

1)缩小屏幕尺寸。不要构建一个1280x800屏幕的模拟器,因为它只使用一个CPU/进程(不确定)来执行从ARM到MacOS的所有翻译并在软件中执行所有屏幕渲染,所以模拟器会受阻。我认为一般建议保持800x480或1024x700。像480x320这样的分辨率也可以尝试,如果在您的机器上确实非常卡顿。

2)如果您可以使用旧版本的SDK,例如1.6,请使用。Froyo和Gingerbread更高级的主屏幕会消耗一些性能。

3)将更多内存分配给模拟器。如果您正在使用eclipse: 前往“Preferences”。 选择“Launch” 在“Default emulator option”中添加“-partition-size 1024” 点击“Apply” 您可能已经完成了这个操作,但是为了清晰起见,我还是提醒一下。

[MC] 错误(3)是partition-size,-m是memory。


我一直在尝试其他AVD /模拟器设置。使用Nexus-One AVD 800x480默认设置并启用快照功能,将我的启动时间从8分钟减少到2分钟。但是显示更新仍然非常缓慢,特别是设备旋转!不幸的是,我无法同时启用“使用主机GPU”和“快照”功能。我的设置:2009年末的MacMini,4 GB-RAM 1067 MHz DDR3,2.53 GHz Intel Core 2 Duo,NVIDIA GeForce 9400 256 MB,OSX 10.8.5。 - iOS-Coder
@iOS-Coder 如果你查看模拟器页面http://developer.android.com/tools/devices/emulator.html,你会发现“快照”和“GPU”是互斥的,所以你只能选择其中之一。 “快照”只适用于重新启动,通常我会让模拟器整天运行,所以我会选择“GPU”而不是“快照”。看起来你找到了Genymotion,祝你好运! - Morrison Chang

2

解决了我的Macbook Pro上Android模拟器的卡顿问题,只需在模拟器选项(...) > 设置 > 高级中更改以下选项:

enter image description here

应用后需要在模拟器上进行冷启动


谢谢分享。对我很有帮助! - undefined
我也可以。 - undefined

0
只是离开这里,因为我的模拟器一直运行得很顺畅,但突然间开始出现卡顿,而这个问题是我得到的第一个搜索结果。只需清除AVD数据,问题就解决了。
只需转到侧边栏的设备管理器,点击虚拟设备的三点菜单,然后选择清除数据。

0
运行一个旧的Mac(Catalina)与最新的Android Studio(flamingo 2022)。
首先,我尝试了一些最新的虚拟模拟器,如Nexus 6或6p + Android 13操作系统,但它们速度太慢。
在尝试了许多不同的选项后,以下是表现良好的选择。
Nexus 4,
API 24,
操作系统= Android 7(Nougat)。
图形:确保选择“硬件”。
我的分辨率是768X1280。
第一次启动总是比较慢,之后加载速度应该相对较快。您应该先进入设备管理器(Android Studio),启动模拟器,然后转到您的项目并指向它并运行等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接