20

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

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

阻力很小

有任何想法吗?

4

4 回答 4

56

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

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

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

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

于 2020-12-30T17:26:06.123 回答
0

一旦你以 arm64 为目标运行应用程序,Jank 就完全消失了。

如果您的依赖项包含原生二进制文件,请不要这样做google_maps_flutter 就是一个这样的例子,它们不提供 arm64 二进制文件,因此,尝试在 M1 上原生编译项目会导致错误

ios在xcode中打开app的文件夹,点击Runner编辑Build Settings,使其Architectures指向arm64且不Excluded Architectures包含arm64 它应该是什么样子(或多或少)

(尽管这些 gif 只有 10 秒长,但它们超过 2MB,无法嵌入,抱歉)

于 2022-01-22T14:34:39.587 回答
-1

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

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

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

void main() {
  timeDilation = 2.0;
  runApp(new MyApp());
}
于 2020-12-28T19:02:24.007 回答
-2

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

  1. 找到“颤振性能”并打开。

在此处输入图像描述

  1. 启用慢速动画

在此处输入图像描述

模拟器滚动会慢得多。

于 2021-12-07T11:19:05.710 回答