在 Debian + Flutter 环境下做性能优化,通常可以从 系统层面、Flutter 应用层面、构建与运行方式 三个方向入手。下面按实用优先级给你一份清单。
gsettings set org.gnome.desktop.interface enable-animations false
Flutter Linux 默认使用 OpenGL / Vulkan
flutter config --enable-linux-desktop
检查是否启用 GPU:
flutter run --verbose
确保不是 Software (LLVM)
如使用 NVIDIA:
sudo apt install nvidia-driver mesa-utils
glxinfo | grep OpenGL
systemctl disable bluetooth
systemctl disable cups
减少 CPU 占用
✅ 永远不要用 debug 模式测性能
flutter run --release
flutter build linux --release
const 构造函数ListView.buildersetState 全页刷新❌ 错误示例:
setState(() {
count++;
});
✅ 推荐:
ValueNotifier<int> count = ValueNotifier(0);
cached_network_imageImage.assetdependencies:
cached_network_image: ^3.3.0
AnimatedBuilderOpacity 套多层RepaintBoundaryRepaintBoundary(
child: AnimatedContainer(...)
)
export FLUTTER_GPU=1
flutter run --release
window_size:
width: 1280
height: 720
Linux 默认 AOT,但确保:
flutter build linux --release
flutter run --profile
打开 DevTools:
flutter pub global activate devtools
flutter devtools
重点看:
htop
nvidia-smi
| 问题 | 原因 | 解决 |
|---|---|---|
| 卡顿 | setState 过多 | 状态局部化 |
| CPU 高 | 动画未优化 | RepaintBoundary |
| 启动慢 | debug 模式 | release |
| 内存涨 | 图片未释放 | cache 控制 |
| GPU 软件渲染 | 驱动问题 | 安装 mesa |
你可以告诉我:
我可以直接给你 针对性优化方案或示例代码。