You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1芯片Mac编译Flutter应用时CPU/内存占满问题求助

解决M1 Mac上Flutter编译依赖后CPU/内存占满问题

问题场景

在M1芯片、macOS Sonoma 14.2.1 (23C71)设备上,用最新版VS Code编译Flutter 3.16.5项目,添加以下依赖后:

cupertino_icons: ^1.0.2
firebase_core: ^2.27.0
firebase_auth: ^4.17.8
flutter_riverpod: ^2.5.1
cloud_firestore: ^4.15.8
syncfusion_flutter_charts: ^25.2.4
lottie: ^3.1.1

iOS模拟器/物理设备编译时CPU直接拉满,Android模拟器编译时内存占满,且所有Flutter应用都存在该问题,已排除依赖本身问题,大概率是本地环境异常导致。


排查与解决步骤

  • 彻底清理Flutter缓存与依赖
    执行以下命令清空缓存,重新拉取干净的依赖包:

    flutter clean
    rm -rf pubspec.lock
    rm -rf ~/.pub-cache
    flutter pub get
    

    缓存损坏是这类资源异常占用的常见原因,清理后能解决大部分隐性问题。

  • 优化VS Code插件设置
    打开VS Code设置,搜索并关闭Flutter: Run Hot Reload On Save,减少后台自动编译的消耗;同时关掉Flutter: Enable Analytics,砍掉不必要的后台进程。另外,禁用不用的Flutter相关插件,降低编辑器本身的资源占用。

  • 调整iOS编译配置
    打开iOS项目的Podfile,在post_install块中添加以下配置,降低编译时的CPU负载:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        # 改用增量编译+优化编译逻辑
        target.build_configurations.each do |config|
          config.build_settings['CLANG_ENABLE_MODULES'] = 'YES'
          config.build_settings['SWIFT_COMPILATION_MODE'] = 'incremental'
        end
      end
    end
    

    执行pod deintegrate && pod install重新安装Pods。

  • 调整Android模拟器资源分配
    打开Android Studio的AVD Manager,编辑目标模拟器的设置:把RAM调整到4GB以内(M1 Mac建议3GB),VM Heap设为512MB,减少内存占用;同时启用Hardware - GLES 2.0硬件加速,提升模拟器运行效率。

  • 系统层面减负
    编译前关闭macOS的后台App刷新,退出所有无关后台应用(如浏览器、云盘同步工具、视频软件等)。另外检查系统更新,安装最新的Sonoma补丁,修复M1芯片可能存在的兼容性bug。

  • 重置Flutter环境
    如果以上方法都无效,卸载当前Flutter版本,重新从官方渠道下载Flutter 3.16.5,重新配置环境变量,避免因安装包损坏或环境配置异常导致的问题。


内容的提问来源于stack exchange,提问作者Francesco Zanoncelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 02:13:14