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

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

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

Drag is minimal

有任何想法吗?

stack overflow iOS Simulator scrolls too fast on Apple M1
原文答案
author avatar

接受的答案

我遇到了类似的问题,但就我而言,问题与 **speed** 无关,而是有所不同。

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

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

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


答案:

作者头像

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

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

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

void main() {
  timeDilation = 2.0;
  runApp(new MyApp());
}
作者头像

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

1.找到“Flutter Performance”并打开。

enter image description here

2.启用慢动画

enter image description here

模拟器滚动会慢得多。

作者头像

在针对ARM64时运行应用程序后,Jank完全消失了。

如果您的依赖性包含本地二进制文件一个这样的例子是 google_maps_flutter ,它们不提供ARM64二进制文件,因此,尝试将M1汇编成M1会导致错误。

XCode中的“打开App的 ios ”文件夹,单击 Runner 并编辑 Build Settings ,以便 Architectures 指向 arm64 ,并且 Excluded Architectures 不包含 arm64 [how it should look like (more or less) (even though these gifs are only 10 seconds long, they are over 2MB and can't be embedded, sorry for that) Runner }](https://i.stack.imgur.com/qjsew.png

Intel

相关问题