系统配置优化
/etc/sysctl.conf文件,添加或修改以下参数以优化内存和网络性能:vm.swappiness=10(减少swap使用)、fs.file-max=100000(增加文件描述符限制)、net.core.somaxconn=4096(提升网络连接处理能力);应用更改需执行sysctl -p。systemctl stop <服务名>和systemctl disable <服务名>停止并禁用不常用的系统服务(如防火墙、蓝牙等),减少系统资源占用。开发环境设置优化
flutter upgrade命令更新Flutter至最新稳定版,确保获得最佳性能优化和bug 修复;Dart SDK也会随Flutter自动更新。vmoptions文件增加-Xmx参数)、启用代码分析和性能检查工具,避免IDE本身成为性能瓶颈。flutter run --profile运行应用,收集性能数据;通过flutter doctor检查潜在问题(如缺失依赖、工具链配置错误),并根据提示解决。Flutter应用代码优化
const构造函数创建不可变Widget(如const Text('Hello')),避免不必要的重建;为需要跟踪变化的Widget添加Key(如Key('unique_key'));使用StatefulWidget管理状态,确保状态更新仅影响必要子组件。Column/Row嵌套),使用LayoutBuilder或CustomPainter实现高效自定义布局;避免使用Opacity、Transform等可能导致重绘的操作。CustomPainter中重写shouldRepaint()方法,返回false表示无需重绘;使用RepaintBoundary包裹需要频繁更新的组件(如动画、动态列表),隔离重绘区域。Future、Stream和async/await处理耗时任务(如网络请求、数据库查询),避免阻塞UI线程;将繁重计算卸载到后台线程,使用Dart的compute()函数。cached_network_image库缓存网络图片,减少重复网络请求;优先使用高效图片格式(如WebP),降低图片加载时间和内存消耗;使用ListView.builder、GridView.builder实现列表懒加载,仅构建可见区域的Item。性能分析与瓶颈定位
flutter pub global activate devtools安装DevTools,使用Timeline视图查看帧率、构建/布局/绘制时间,识别卡顿的组件;使用CPU分析器查看热点函数,优化耗时操作;使用内存分析器检查内存泄漏。