iOS 模拟器在 Apple M1 上滚动太快
iOS Simulator scrolls too fast on Apple M1
我是 运行 一个 flutter 项目,当在模拟器上拖动任何列表或滚动视图时,它滚动时用力太大,几乎不可能到达我需要的行。
这只发生在模拟器中,它似乎在真实设备上运行良好。另外,当我迁移到 Apple M1 MacBook Pro 时,这个问题就开始了。
有什么想法吗?
这可能是因为使用 ARM 使仿真器速度更快。
它是唯一一个加速动画吗?也许还有更多。如果是这样,请设置 timeDilatation
.
import 'package:flutter/scheduler.dart' show timeDilation;
void main() {
timeDilation = 2.0;
runApp(new MyApp());
}
我遇到过类似的问题,但就我而言,问题与 speed 无关,而是不同的东西。
具体来说,如果您将 iOS 模拟器强制设置为 运行 在 Rosetta 下,您会发现它按预期工作。不知道为什么,但这就是我正在经历的。始终可重现 1.22.5(稳定)。
在 Rosetta 中 运行,右键单击 Xcode 并选择“显示包内容”,从那里导航到“内容 > 开发人员 > 应用程序”,在那里你会找到模拟器应用程序。如果您右键单击它并选择“获取信息”,您将找到 运行 使用 Rosetta 的选项。
更新 14/9/2021: Xcode 12.5.1 不再需要上述解决方法。滚动开箱即用。
如果您使用的是 AndroidStudio,请试试这个。
- 找到 'Flutter Performance' 并打开。
- 启用慢速动画
模拟器滚动会慢很多。
一旦您在针对 arm64 的情况下 运行 应用程序,Jank 就完全消失了。
如果您的依赖项包含本机二进制文件,请不要这样做 一个这样的例子是 google_maps_flutter,他们不提供 arm64 二进制文件,因此,试图编译M1 上的项目本机将导致错误。
打开 xcode 中应用程序的 ios
文件夹,点击 Runner
并编辑 Build Settings
,使 Architectures
指向 arm64
和 Excluded Architectures
不包含 arm64
(虽然这些动图只有10秒长,但超过2MB,无法嵌入,抱歉)
Runner
在 Intel
上出现卡顿:https://i.imgur.com/P4pswQn.mp4
Runner
在 arm64
上没有卡顿:https://i.imgur.com/zqGIe2L.mp4
我是 运行 一个 flutter 项目,当在模拟器上拖动任何列表或滚动视图时,它滚动时用力太大,几乎不可能到达我需要的行。
这只发生在模拟器中,它似乎在真实设备上运行良好。另外,当我迁移到 Apple M1 MacBook Pro 时,这个问题就开始了。
有什么想法吗?
这可能是因为使用 ARM 使仿真器速度更快。
它是唯一一个加速动画吗?也许还有更多。如果是这样,请设置 timeDilatation
.
import 'package:flutter/scheduler.dart' show timeDilation;
void main() {
timeDilation = 2.0;
runApp(new MyApp());
}
我遇到过类似的问题,但就我而言,问题与 speed 无关,而是不同的东西。
具体来说,如果您将 iOS 模拟器强制设置为 运行 在 Rosetta 下,您会发现它按预期工作。不知道为什么,但这就是我正在经历的。始终可重现 1.22.5(稳定)。
在 Rosetta 中 运行,右键单击 Xcode 并选择“显示包内容”,从那里导航到“内容 > 开发人员 > 应用程序”,在那里你会找到模拟器应用程序。如果您右键单击它并选择“获取信息”,您将找到 运行 使用 Rosetta 的选项。
更新 14/9/2021: Xcode 12.5.1 不再需要上述解决方法。滚动开箱即用。
如果您使用的是 AndroidStudio,请试试这个。
- 找到 'Flutter Performance' 并打开。
- 启用慢速动画
模拟器滚动会慢很多。
一旦您在针对 arm64 的情况下 运行 应用程序,Jank 就完全消失了。
如果您的依赖项包含本机二进制文件,请不要这样做 一个这样的例子是 google_maps_flutter,他们不提供 arm64 二进制文件,因此,试图编译M1 上的项目本机将导致错误。
打开 xcode 中应用程序的 ios
文件夹,点击 Runner
并编辑 Build Settings
,使 Architectures
指向 arm64
和 Excluded Architectures
不包含 arm64
(虽然这些动图只有10秒长,但超过2MB,无法嵌入,抱歉)
Runner
在Intel
上出现卡顿:https://i.imgur.com/P4pswQn.mp4Runner
在arm64
上没有卡顿:https://i.imgur.com/zqGIe2L.mp4