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 的内存限制:
- 在 HbuilderX 安装目录下找到 
plugins/node文件夹。 - 打开 
node_modules/npm/bin/node-gyp-bin文件。 - 在文件开头添加以下代码,增加内存限制:
--max-old-space-size=4096 - 保存并重启 HbuilderX。
 
 - 在 HbuilderX 安装目录下找到 
 - 如果使用的是自定义 Node.js 环境,可以通过命令行设置内存限制:
export NODE_OPTIONS="--max-old-space-size=4096" 
 - 修改 Node.js 的内存限制:
 
4. 项目过大或代码冗余
- 问题原因:项目中可能存在大量未压缩的图片、冗余代码或不必要的资源。
 - 解决方案:
- 压缩项目中的图片资源。
 - 使用 
uni-app提供的分包功能,将项目拆分为多个子包。 - 检查 
pages.json和manifest.json,移除未使用的页面和配置。 
 
5. 编译环境问题
- 问题原因:编译环境可能存在配置错误或冲突。
 - 解决方案:
- 确保 Android Studio 或 Xcode 的 SDK 和构建工具已正确安装。
 - 在 HbuilderX 中检查 
运行 -> 运行到手机或模拟器 -> 运行设置,确保配置正确。 - 如果问题仍然存在,可以尝试在命令行中手动编译:
npm run build:app-plus 
 
        
      
                    
                  
                    
