本文最后更新于 145 天前,不保证现在该文章信息准确
更新到Flutter3.35+之后 在我的180Hz显示器上 能明显感觉到动画没有以前丝滑了
尝试回退到3.32或更早的版本 问题消失,那么就能确定是3.35把什么东西改了
于是尝试去Github官方仓库上查找了一下 还真让我找到了类似的 问题
问题疑似跟windows上新的合并线程模型有关 解决方法就是不要使用新的合并线程模型
参考 https://github.com/flutter/flutter/issues/175135#issuecomment-3320668540
解决方法
只需要在 项目根目录中的windows/runner/main.cpp
添加一句 project.set_ui_thread_policy(flutter::UIThreadPolicy::RunOnSeparateThread);
例如:
::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
flutter::DartProject project(L"data");
project.set_ui_thread_policy(flutter::UIThreadPolicy::RunOnSeparateThread);
std::vector<std::string> command_line_arguments =
GetCommandLineArguments();
即可解决
其他
虽然该issues下维护者承诺将在未来的版本移除合并线程退出功能
但是目前为止(3.38.9) 该问题还没得到有效的解决