模拟器在 Windows 7 上非常慢
Posted
技术标签:
【中文标题】模拟器在 Windows 7 上非常慢【英文标题】:Emulator awfully slow on Windows 7 【发布时间】:2016-11-19 07:17:07 【问题描述】:这不是咆哮,也不是永远的“为什么 android 模拟器这么慢”问题的重复。因此,直到几周(可能是几个月)前,在我的 Win7 64 位系统上模拟 Android 设备至少是可以接受的(x86 模拟很快就可以使用)。但是,尝试使用最新版本的 SDK、平台工具等创建任何(“快速”“新”“2.0”)仿真器实例,这几天只会让人感到沮丧和痛苦。我试图了解这是否是我这边的问题,或者人们实际上可以在 Windows 7 上使用最新 SDK 中包含的最新版本的 Android 模拟器。
我的电脑配置:Win7 x64 / Intel Core 2 Quad @3.8 GHz / 6 GB RAM / 充足的硬盘空间 / 专用 GPU
尝试使用任何 API 级别(使用 x86 或 x86_64)启动模拟器时会发生什么:
版本 1) 模拟器启动,Android 标志出现,发光了一下,就这样。它永远不会到达主屏幕。模拟器日志显示绝对没有错误。尝试使用 adb 连接会冻结 Android Studio,直到我终止模拟器进程。
版本 2) 与版本 1 相同,但在这种情况下,我什至无法终止 qemu-system-i386 进程(是的,即使拥有完整的管理员权限也不行)。我实际上必须重新启动 Windows。进程仍然是僵尸,使用 1 GB 的 RAM。
版本 3) 如果我很幸运,有时它会到达主屏幕,但变得完全无法使用。有时我可以点击一些东西(可能点击 2-3 次),然后变得完全没有响应。在模拟器的主屏幕上随机出现“启动器已停止”/“系统已停止”消息...
我已安装最新的 Intel HAXM 6.0.3 版本(由 Android SDK 管理器下载的版本)。在 Bios 中启用了虚拟化。
我尝试了各种模拟器选项(或多或少的 RAM、硬件与软件 GPU、x86 / x86_64)。每次的结果几乎相同。
我已经完全删除并重新安装了整个 Android SDK 和 Android Studio。
CPU 不是问题 - 模拟器运行时它没有负载。
空闲 RAM 不是问题 - 在模拟器运行时它没有完全使用,
HDD 不是问题 - 我什至对其进行了碎片整理,并且在模拟器运行时它看起来并没有受到任何类型的负载。
所以,我的问题很简单:是否有人使用 Windows 7,可以通过简单的 2 到 3 次单击过程实际启动 Marshmallow x86 模拟器,并实际到达主屏幕?或者“新的、更快的”模拟器是否真的需要某种我似乎不再拥有的超级强大的机器?唯一明显改变的是 HAXM 驱动程序。但它说它已经初始化得很好,所以我不知道。哦,VirtualBox 运行得很好。相比之下,GenyMotion 只能飞。但是我想让官方的Android模拟器处于工作状态,还是我要求太多了?
【问题讨论】:
您可以使用其他应用,如 BlueStacks 、 Genymotion 或其他 【参考方案1】:Adrian,在我看来:是的,你需要一个强大的处理器,甚至更多的内存。以 xxxhdpi 分辨率运行 api 24 仿真几乎可以接受的场景是具有 8 个 ram 的 i7。
但这正是硬件和软件制造商想要你做的:升级、升级、升级。这对你来说不一定是真的,或者对今天来说不是强制性的。也许明天……
这也是我的情况。我有第二代 i5,有 6 个内存和大量磁盘。也有一个好的 geforce gpu。我如何让我的模拟器运行,或者,我如何在我的 win7 中进行模拟?首先:从 Windows 卸载所有最后(大约 30 个)非安全系统更新(!是的......,它们使您的系统非常沉重,微软希望我们继续使用我们的系统的各种分布式 c++ 包也是如此即使我们每年使用一次或更少 - 转到控制面板并撕掉它们!只保留最新的 c++ 包 - 如果您以后需要它,请再次更新)。实际上,我什至正在研究我可以从我的系统中删除哪些“更新”以使其再次可用,我的再次使用。微软...
第二:在你的android studio(菜单文件)上启用“省电模式”,只在测试时,似乎让事情变得更快。
第三:对具有“低” apis 的模拟器进行大量测试,例如最多 android 4 或 5。并模拟具有小屏幕或分辨率的设备,5 pol。最高 720 点(水平)。如果可能,请使用 _x86 64 仿真。
有了这个,你就可以实现它。模拟器加载和打开速度很慢,但运行时速度相当不错。在那里要做的第一件事:在两个地方输入开发人员选项和“强制gpu”。这将指示您的电脑利用您的专用 gpu 系统。
请勿尝试同时打开两个或多个模拟器,抱歉。
当你完成 90% 的调试后(我是在运行低于 5 的 android 版本的模拟器中进行的,通常是 4.0 或 4.1 - 480x800 屏幕),然后你付出代价来加载一个大屏幕,大 dpi android 5, 6 或 N)。加载时,煮咖啡并使用浴缸。
加载美女(野兽?)后,对所有等待这一特殊时刻的应用进行最终测试。我维护我所有的应用程序等待它。当我加载“大”鸸鹋时,我会利用这个机会来做我需要的所有测试——因为这不是一个简单的任务,每次我想要打开它。
在未来,如前所述:i7、8ram、强大的 gpu,以及非常重要的:一个好的 SSD 驱动器(直到快 10 倍),将讨厌的硬盘扔进垃圾箱。 :) 最好的。
编辑:当您使用最新的 API 创建 AVD 图像时,Android Studio 会为仿真定义 ram 和磁盘空间值,在我看来,这些值对于人质计算机来说太大太难处理。第一点:您的测试应用程序永远不会需要所有这些资源。二:你的电脑很难处理从这里到那里,从那里到这里的非常碎片化的 Gb 数据。三:在你的硬盘上创建的虚拟映像随着使用而变大。所以: 1 - 降低 avd 图像、内存和磁盘大小的默认值; 2 - 在 avd 启动窗口对话框中,每次开始仿真之前编辑每个图像和翻录信息的选项或/和 3 - 在不需要时从 emu 中卸载您的应用程序。
【讨论】:
哇,真正全面的答案,我分享您为该死的模拟器启动浪费宝贵时间的痛苦!我曾怀疑 CPU 可能是这里的罪魁祸首。但是,虽然它没有解释为什么以前的 Lollipop 模拟器运行良好,而最新的没有,但很明显,事实上,我不再处于使用官方模拟器的“可接受”图表中。可惜我可以使用 VBox 完美运行 Ubuntu,但不是愚蠢的 Android 映像。 感谢您的慷慨。这不是“最好的”答案,甚至不是“唯一的”,但它确实是一个答案,基于我的场景和我在过去近 3 年开发 android 和交换信息的研究。试试我的建议,然后回到这里让我们谈谈。重要提示:我忘记了一些额外的信息,并将放在我的答案的末尾,请阅读编辑。谢谢!祝你好运。 不幸的是,我什至已经尝试过使用 480x800 Lollipop 实例,但它只是在 android 启动屏幕上冻结......甚至无法杀死它,这基本上意味着它卡在某个地方一个驱动操作,我的目光都在Intel的HAXM上。恐怕我的问题更深,我会恢复到以前的 HAXM 版本,看看它是否有效,就像它一样。我很确定我没有弄乱任何驱动程序,也没有安装任何可能干扰的 Microsoft 更新/膨胀软件或其他后台应用程序。 甚至禁用 HAXM 看看会发生什么。我认为你的方向是正确的。以上是关于模拟器在 Windows 7 上非常慢的主要内容,如果未能解决你的问题,请参考以下文章
TextBox.TextChanged 事件在 Windows Phone 7 模拟器上触发两次