Skip to content

解决导出 MCBBS 整合包因文件过多导致的 Out Of Memory - #6630

Merged
Glavo merged 2 commits into
HMCL-dev:mainfrom
Hylfrd:fix/mcbbsmodpackexport-oom
Aug 9, 2026
Merged

解决导出 MCBBS 整合包因文件过多导致的 Out Of Memory#6630
Glavo merged 2 commits into
HMCL-dev:mainfrom
Hylfrd:fix/mcbbsmodpackexport-oom

Conversation

@Hylfrd

@Hylfrd Hylfrd commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

#6086 #6173

导出 MCBBS 整合包时,mcbbs.packmeta 会记录整合包中的文件信息。原实现会先将整个 McbbsModpackManifest 序列化为 JSON 字符串,再由 Zipper.putTextFile 将该字符串转换为完整的 UTF-8 字节数组,导致内存中同时存在完整的 JSON 字符串和字节数组。文件数量较多时,生成的清单 JSON 会过大,并可能导致 OOM。

此 PR 将 mcbbs.packmeta 直接序列化并写入 ZIP,避免创建完整的中间 JSON 字符串和 UTF-8 字节数组,降低导出过程的内存峰值。

@github-actions github-actions Bot added the 1+ label Aug 9, 2026
@Glavo

Glavo commented Aug 9, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: ff8602796d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Glavo
Glavo merged commit 15d4874 into HMCL-dev:main Aug 9, 2026
3 checks passed
@Hylfrd
Hylfrd deleted the fix/mcbbsmodpackexport-oom branch August 12, 2026 03:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants