iPhone模拟器突然变得运行非常缓慢

340

我在 iPhone 模拟器上开发一个应用已经几周了,一直运行良好,但突然之间加载内容和动画都变得非常缓慢。自上次成功测试以来,我没有对代码进行任何更改。

我尝试重新启动模拟器(多次)并删除应用程序,进行完全的清洁重构,但没有成功。同时,在模拟器运行时通过监视器检查我的 CPU 使用情况,使用量仅约为 30%,内存使用量为 40%。

我充分理解模拟器永远不如设备本身快,但它突然开始变慢似乎有些奇怪,慢的意思是原来速度的四分之一以下。


9
你连续按了三次Shift键了吗? - Rey Gonzales
1
很难知道我做了什么,我该怎么办?这是否与慢动画切换相同?如果是,我已经尝试了几次切换,但没有任何运气。 - Finglish
再次按下Shift键三次。是的,它还是一样的。 - Rey Gonzales
98
按下 CMD + T 可以切换减速模式。 - Dominic
你应该将下面的答案标记为正确答案。 - Finn
显示剩余3条评论
14个回答

820
在iOS模拟器中,点击顶部的菜单栏上的DebugToggle Slow Animations(或在Xcode 10+中点击Slow Animations)。很有可能你不小心开启了它。

1
我尝试了这个,但似乎没有任何改变。我还尝试了在切换后重新启动,但速度仍然非常慢。此外,速度问题似乎不仅限于动画。 - Finglish
1
不确定为什么能起作用,但我保存了项目的新副本,并重新运行了模拟器,现在速度恢复正常了。不过我不确定这只是巧合。 - Finglish
@iosCurator 什么版本?我有10.1(模拟器-877 CoreSimulator-581.2),我有这个选项。 - titogeo
1
哦,哇,这可能发生在很多人身上(包括我),因为映射到⌘T,所以如果你试图打开浏览器或终端选项卡,它可能会切换到缓慢的动画...... - Smitty
1
@Smitty 这正是发生在我身上的事情哈哈 :) - DavidA
显示剩余11条评论

189

简单地使用 Command + T 就可以解决这个问题。

Command + T 可以切换模拟器的 Slow Animations 功能,该功能可以在模拟器菜单中找到:Debug -> Slow Animations


10
我在Chrome上意外按下了那个键组合。哈哈(打开了新标签页)。 - mr5
4
苹果应该考虑另外一组键盘组合。 - sonlexqt

172

进入模拟器的Debug菜单,选择“切换慢速动画”。

更新: 在Xcode 10中,只需选择“慢速动画”:

Simulator Debug menu


6
我打赌看到这个答案的每个人都按下 cmd+T 以为他们在另一个应用程序中,然后开始出现缓慢的动画。苹果应该将 cmd+T 的快捷键映射为更加晦涩和不太常用的组合键。 - cs01

56

选择模拟器,

选择调试并取消“减速动画”选项。
快捷键:command + t

这对我很有帮助。


42
如果使用Cmd-T(慢速动画)选项不起作用,而且“调试 -> 慢速动画”关闭,但您仍然有缓慢的动画,请尝试“模拟器 -> 重置内容和设置”(或可能是“硬件 -> 删除所有内容和设置”)。当其他答案都无法解决问题时,这对我有用。有人有建议吗?
此外,附加了调试器(任何情况下)可能会使动画变得非常缓慢。

1
这对我有用,但我也很好奇为什么。我正在开发React Native应用程序,我想知道我的应用程序是否开始使用太多的AsyncStorage空间。这只是一个猜测。 - nomad
我已经尝试了所有方法,但是仍然无法解决我所看到的缓慢问题。我看到动画很快,但移动很慢,比如在场景工具包中,我让一个球掉落,但它下落得非常缓慢,就像是1帧每秒,需要10秒钟才能触地。 - Repardeimaj
当前版本的Xcode已不再提供该功能,但是有一种“硬件 -> 抹掉所有内容和设置…”的选项。 - nomad
1
“硬件 -> 删除所有内容和设置...”是解决方案。 - nomad
在我的情况下这并没有帮助。https://dev59.com/DGUp5IYBdhLWcg3wVWcG#59626207 - mikep

33

React-Native用户的另一个潜在解决方案:

Chrome会将未处于前台标签页中运行的JavaScript降低优先级。因此,如果您已启用远程调试,请确保将调试器放在自己的窗口中。


29

当您使用模拟器时,不小心按下了慢速动画调试选项。因此,请运行模拟器 -> 调试 -> 取消选择“慢速动画”。


请问您能否详细阐述一下您的回答,并对您提供的解决方案进行更多描述? - abarisone

13
我认为你不小心按了command + T键,而不是应该按的command + R键。

1
按下 Command + R 键进行刷新。花费 20 分钟尝试弄清楚我是如何毁掉我的应用程序的。重启我的 Mac,这是最后的办法。来这里,学习新东西并感到欣喜。 - ThunderHorse

8
我还没有足够的声望来留言,但我在这里点赞并想多说一些话。我在iOS模拟器中遇到了动画缓慢的问题,尤其是在旋转时,通过谷歌搜索我找到了这篇文章。确实,某种程度上“切换慢速动画”必须开启,因为三次操作修复了它。起初,我认为这不是一个问题,因为“切换慢速动画”旁边没有勾号。事实证明,从菜单中无法看出它是否开启或关闭。所以只需尝试切换它,看看旋转/导航是否更快/更慢。感谢你!

因为提供了关于Xcode缺乏视觉反馈的额外信息,所以被点赞。 - Paul Waldo

6

模拟器 -> 重置内容和设置对我有效。当我远程调试我的React Native代码时,问题似乎会再次出现。这可能也与AsyncStorage有关,就像nomad建议的那样


1
停止远程调试解决了我的问题。谢谢! - liquidpenguins

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