我正在运行一个flutter项目,当在模拟器上拖动任何列表或滚动视图时,它滚动的力太大,几乎不可能到达我需要的行。
这仅发生在模拟器中,并且在真实设备上似乎可以正常工作。此外,当我迁移到 Apple M1 MacBook Pro 时,这个问题就开始了。
有任何想法吗?
我正在运行一个flutter项目,当在模拟器上拖动任何列表或滚动视图时,它滚动的力太大,几乎不可能到达我需要的行。
这仅发生在模拟器中,并且在真实设备上似乎可以正常工作。此外,当我迁移到 Apple M1 MacBook Pro 时,这个问题就开始了。
有任何想法吗?
我遇到了类似的问题,但就我而言,问题与 **speed**
无关,而是有所不同。
具体来说,如果您强制您的 iOS 模拟器在 Rosetta 下运行,您将看到它按预期工作。不知道为什么,但这就是我正在经历的。始终可在 1.22.5(稳定)中重现。
要在 Rosetta 中运行,右键单击 Xcode 并选择“显示包内容”,从那里导航到“内容 > 开发人员 > 应用程序”,在那里你会找到模拟器应用程序。如果您右键单击它并选择“获取信息”,您将找到一个使用 Rosetta 运行它的选项。
更新 14/9/2021: Xcode 12.5.1 不再需要上述解决方法。开箱即用的滚动效果很好。
在针对ARM64时运行应用程序后,Jank完全消失了。
如果您的依赖性包含本地二进制文件一个这样的例子是 google_maps_flutter ,它们不提供ARM64二进制文件,因此,尝试将M1汇编成M1会导致错误。
XCode中的“打开App的 ios
”文件夹,单击 Runner
并编辑 Build Settings
,以便 Architectures
指向 arm64
,并且 Excluded Architectures
不包含 arm64
[
(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
Runner
with jank: arm64
这可能是因为模拟器由于使用了 ARM 而变得更快。
它是唯一的加速动画吗?也许还有更多。如果是这样,请设置
timeDilatation
。