iOS 模拟器在 Apple M1 上滚动太快

Posted

技术标签:

【中文标题】iOS 模拟器在 Apple M1 上滚动太快【英文标题】:iOS Simulator scrolls too fast on Apple M1 【发布时间】:2021-04-05 03:12:40 【问题描述】:

我正在运行一个颤振项目,当在模拟器上拖动任何列表或滚动视图时,它滚动的力太大,几乎不可能到达我需要的行。

这只发生在模拟器中,在真实设备上似乎可以正常工作。此外,当我迁移到 Apple M1 MacBook Pro 时,这个问题就开始了。

有什么想法吗?

【问题讨论】:

如果您的问题不在设备上或造成性能卡顿,我在这里看不到问题,可能您的计算机处理速度比 iPhone 快。只需验证您的表现还可以,这应该足够了。 【参考方案1】:

我遇到了类似的问题,但就我而言,该问题与速度无关,而是不同的问题。

具体来说,如果您强制您的 ios 模拟器在 Rosetta 下运行,您会看到它按预期工作。不知道为什么,但这就是我正在经历的。始终可在 1.22.5(稳定)中重现。

要在 Rosetta 中运行,右键单击 Xcode 并选择“显示包内容”,从那里导航到“内容 > 开发人员 > 应用程序”,在那里你会找到模拟器应用程序。如果您右键单击它并选择“获取信息”,您将找到一个使用 Rosetta 运行它的选项。

2021 年 9 月 14 日更新: Xcode 12.5.1 不再需要上述解决方法。开箱即用的滚动效果很好。

【讨论】:

这确实有助于解决类似的问题,即滚动“滞后”/“口吃”。非常感谢! 修复了这个非常令人沮丧的问题。谢谢,@valvoline! 这将使模拟器在重型应用程序上滞后;性能不会那么好。 我在 M1 Pro 上使用 Xcode 13.1,但仍然遇到此问题。强制模拟器在 Rosetta 下运行修复了它。 M1 已经上市一年多了,不知道为什么我们还在处理这些错误。 这行得通!但是,我将删除有关它与 Xcode 12.5.1 一起使用的更新。我在 13.2 上,它仍然坏了。【参考方案2】:

如果你使用的是 androidStudio,试试这个。

    找到“Flutter Performance”并打开。

    启用慢速动画

模拟器滚动会慢很多。

【讨论】:

【参考方案3】:

这可能是因为模拟器由于使用了 ARM 而变得更快。

它是唯一的加速动画吗?也许还有更多。如果是这样,设置timeDilatation

import 'package:flutter/scheduler.dart' show timeDilation;

void main() 
  timeDilation = 2.0;
  runApp(new MyApp());

【讨论】:

谢谢!好电话,但实际上它只是列表。增加 timeDilation 仍然会导致列表溢出(尽管速度很慢),并且页面转换速度慢得令人不舒服。 那么问题不在模拟器上。

以上是关于iOS 模拟器在 Apple M1 上滚动太快的主要内容,如果未能解决你的问题,请参考以下文章

iOS 模拟器无法正确滚动(M1 + React Native 项目)

如何修复 iOS 模拟器 [native-run] ERR_DEVICE_LOCKED:在 Apple Silicon (M1) 上 1 分钟后设备仍被锁定?

Xcode 13.1 卡在 Apple M1 Pro 上安装模拟器

iPhone模拟器的Apple M1问题

Android Studio:“AVD Pixel_2_API_30 的模拟器进程已终止。”在 MacBook Pro M1(Apple Silicon)上

Android Emulator 在 M1 mac/Apple Silicon 上卡住了加载屏幕