我已经在 iphone 模拟器中开发了一个应用程序好几个星期了,到目前为止它一直运行良好,但是在加载内容和动画时突然开始运行非常缓慢。自从我上次成功测试以来,我没有对我的代码进行任何更改。
我尝试重新启动模拟器(多次)并删除应用程序并进行完全干净的重建,但没有运气。我还在模拟器运行时通过监视器检查了我的 cpu 使用情况,我只使用了大约 30% 的 cpu 和 40% 的内存。
我完全理解模拟器从来没有像设备本身那么快,但它在这么长的时间后突然开始运行缓慢似乎很奇怪,我所说的慢是指不到它原来速度的四分之一。
在 iOS 模拟器的顶部栏中,单击 Debug
→ Toggle Slow Animations
(或 Xcode 10+ 的 Slow Animations
)。您可能不小心将其打开。
简单的 Command + T 将解决此问题。
Command + T 切换模拟器的Slow Animations
,可以在模拟器菜单下找到:Debug
-> Slow Animations
。
转到模拟器的调试菜单并选择“切换慢速动画”。
更新:在 Xcode 10 中,它只是“慢动画”:
https://i.stack.imgur.com/Rgnev.png
选择模拟器,
选择调试并取消选中慢动画。快捷命令 + t
这对我有用。
如果 Cmd-T(慢速动画)选项对您不起作用并且 Debug -> Slow Animations
已关闭但您仍然有慢速动画,请尝试 Simulator -> Reset Contents and Settings
(或可能是 Hardware -> Erase All Content and Settings
)。当这里没有其他答案时,这对我有用。有人对为什么有建议吗?
还附加了一个调试器(完全)可能会使动画非常慢。
Hardware -> Erase All Content and Settings...
选项。
Hardware -> Erase All Content and Settings...
是票。
React-Native 用户的另一个潜在修复:
Chrome 会取消在前台以外的任何选项卡中运行的 Javascript 的优先级。因此,如果您启用了远程调试,请务必将调试器放在自己的窗口中。
使用模拟器时,您不小心在调试时按下了慢速动画。所以运行模拟器 -> 调试 -> 取消选中慢动画。
我认为您错误地按下了 command + T 而不是 command + R 。
我还没有代表发表评论,但我在这里提出了一些答案并想说更多。我在 iOS 模拟器中遇到了动画缓慢的问题,尤其是在旋转时,我通过 Google 找到了这篇文章。确实,不知何故“切换慢速动画”一定是打开了,因为三班倒修复了它。起初,我不认为这是一个问题,因为“切换慢速动画”旁边没有复选标记。事实证明,菜单上从来没有复选标记,也没有任何指示,无论它是打开还是关闭。所以只需尝试切换它,看看旋转/导航是否更快/更慢。
所以谢谢!
模拟器 ->重置内容和设置对我有用。当我远程调试我的 react-native 代码时,这个问题似乎再次出现。它也可能与作为 nomad suggested 的 AsyncStorage 有关。
这不仅仅是关于慢动画。 Xcode 模拟器在全球范围内具有极低的性能。这是苹果的错误。我已通过 Feedback Assistant 举报。 我用代码创建了演示,演示模拟器比任何旧的真实设备慢 200 倍。我发现在 WKWebView 中执行带有 Date 对象的 JavaScript 代码对模拟器来说很痛苦。在我的情况下,更改模拟器中的选项无济于事。见 jsfiddle https://jsfiddle.net/kjms16cw/ 我希望苹果能尽快修复它!
var log = document.getElementById("log"); document.getElementById("button").onclick = function() { run(); };函数 run() { var d1 = new Date(); for (var i = 0; i < 1000; i++) { var x = new Date(); x.setMilliseconds(0); x.setSeconds(0); x.setMinutes(0); } var d2 = 新日期(); log.innerHTML = ((d2.getTime() - d1.getTime()) / 1000) + "秒"; }
这个测试在任何浏览器、任何设备、任何平台(包括非常旧的 iOS 设备,例如 iPhone 5C 和几年前的 iPad 2)中都可以快速运行(几十毫秒,例如 30 毫秒),但在模拟器中需要 6000 毫秒(是的,6 秒!)。太可怕了!
您可以尝试关闭远程调试(Cmd-D -> 停止远程 JS 调试)。这通常会加快速度。
当 chrome 调试处于活动状态且浏览器选项卡不在前台时,模拟器也很慢。对我来说,我决定把指南放在前台。
不定期副业成功案例分享