uni-app 4.14、4.15版本HbuilderX编译APP端内存溢出

uni-app 4.14、4.15版本HbuilderX编译APP端内存溢出

项目 信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 版本21H2(19044.3086)
HBuilderX类型 正式
HBuilderX版本号 4.15
手机系统 全部
手机厂商 华为
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

测试过的手机:

  • 华为P30Pro
  • iPhone14
  • 图片
  • iPhone15

操作步骤:

  • watch与附件内获取设备方法位置互换

预期结果:

  • 4.14之前版本皆为正常,4.14之后版本(包括4.15)皆出现RangeError: Maximum call stack size exceeded错误信息

实际结果:

  • RangeError: Maximum call stack size exceeded

bug描述:

  • setup下,附件watch方法写在获取设备后就提示RangeError: Maximum call stack size exceeded;附件仅为示例,项目大部分页面都会提示此错误信息;

更多关于uni-app 4.14、4.15版本HbuilderX编译APP端内存溢出的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 4.14、4.15版本HbuilderX编译APP端内存溢出的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 4.14 和 4.15 版本中,使用 HbuilderX 编译 APP 端时出现内存溢出的问题,可能是由于以下几种原因导致的。以下是一些可能的解决方案和排查步骤:


1. HbuilderX 版本问题

  • 问题原因:HbuilderX 的某些版本可能存在内存管理问题,导致编译时内存溢出。
  • 解决方案
    • 更新 HbuilderX 到最新版本,确保使用的是官方推荐的稳定版本。
    • 可以尝试回退到之前的稳定版本,例如 3.6.18 或 3.7.12。

2. 项目依赖问题

  • 问题原因:项目中可能引入了过多的依赖或插件,导致编译时内存占用过高。
  • 解决方案
    • 检查 package.json 文件,移除不必要的依赖。
    • 尝试清理项目缓存:在 HbuilderX 中点击 项目 -> 清理项目缓存
    • 如果使用了自定义组件库,可以尝试优化或减少组件的使用。

3. 内存配置不足

  • 问题原因:HbuilderX 默认的 Node.js 内存配置可能不足以处理较大的项目。
  • 解决方案
    • 修改 Node.js 的内存限制:
      1. 在 HbuilderX 安装目录下找到 plugins/node 文件夹。
      2. 打开 node_modules/npm/bin/node-gyp-bin 文件。
      3. 在文件开头添加以下代码,增加内存限制:
        --max-old-space-size=4096
        
      4. 保存并重启 HbuilderX。
    • 如果使用的是自定义 Node.js 环境,可以通过命令行设置内存限制:
      export NODE_OPTIONS="--max-old-space-size=4096"
      

4. 项目过大或代码冗余

  • 问题原因:项目中可能存在大量未压缩的图片、冗余代码或不必要的资源。
  • 解决方案
    • 压缩项目中的图片资源。
    • 使用 uni-app 提供的分包功能,将项目拆分为多个子包。
    • 检查 pages.jsonmanifest.json,移除未使用的页面和配置。

5. 编译环境问题

  • 问题原因:编译环境可能存在配置错误或冲突。
  • 解决方案
    • 确保 Android Studio 或 Xcode 的 SDK 和构建工具已正确安装。
    • 在 HbuilderX 中检查 运行 -> 运行到手机或模拟器 -> 运行设置,确保配置正确。
    • 如果问题仍然存在,可以尝试在命令行中手动编译:
      npm run build:app-plus
回到顶部