系统配置优化
/etc/sysctl.conf文件,添加或修改以下参数以优化内存和IO性能:vm.swappiness=10(减少swap使用)、fs.file-max=100000(增加文件描述符限制)、net.core.somaxconn=4096(优化网络连接队列);应用更改需执行sysctl -p。systemctl stop <服务名>和systemctl disable <服务名>命令禁用不常用的服务(如防火墙、蓝牙等),减少系统资源占用。Flutter环境与依赖优化
flutter upgrade命令升级到最新稳定版,新版本会修复性能bug并引入优化(如编译速度、渲染效率提升)。gradle.properties中的org.gradle.jvmargs,如设置为-Xmx2048m)、启用并行构建(org.gradle.parallel=true),提升编译效率。flutter doctor检查环境问题;运行flutter run --profile收集性能数据;通过Flutter DevTools的Timeline(查看帧率、构建/布局/绘制时间)、CPU Profiler(识别高CPU占用代码)、Memory(检查内存泄漏)等工具定位瓶颈。Flutter应用代码优化
const构造函数创建不可变Widget(如const Text('Hello')),避免不必要的子树重建;为动态变化的Widget添加Key(如ValueKey),帮助Flutter识别组件身份。RepaintBoundary包裹频繁更新的组件(如动画、滚动列表),将重绘范围限制在该组件内,减少对整个Widget树的影响。Column/Row嵌套),使用Flex、Expanded合理分配空间;优先使用ListView.builder、GridView.builder实现懒加载(仅渲染可见区域的Item),减少内存消耗。Future、async/await处理网络请求、数据库查询等耗时操作,避免阻塞主线程(UI线程);对于CPU密集型任务(如图片处理、数据解析),使用compute函数将任务卸载到后台线程。cached_network_image库缓存网络图片,减少重复网络请求;选择高效图片格式(如WebP,比PNG/JPG更小且解码更快);通过Image.asset的width、height参数指定图片尺寸,避免加载过大图片。Provider、Riverpod或GetX等状态管理库,实现状态的集中管理和高效传递,确保状态更新仅触发必要组件的重建(避免全局重建)。系统性能监控与调优
top(查看CPU/内存占用)、vmstat 1(查看系统整体性能,如进程、内存、IO)、iostat 1(查看磁盘IO情况)等命令定期监控系统状态,及时发现资源瓶颈(如内存不足导致频繁swap)。pub-cache目录(默认在~/.pub-cache)迁移到SSD分区,减少依赖下载和读取的时间;避免在项目目录中存放大量小文件(如频繁修改的配置文件),减少磁盘IO压力。