Skip to content

🚀 v1.10.2:超长 JSON 格式化性能优化 - #6

Merged
bcblr1993 merged 1 commit into
mainfrom
bcblr/json-formatter-performance-v1.10.2
Jul 23, 2026
Merged

🚀 v1.10.2:超长 JSON 格式化性能优化#6
bcblr1993 merged 1 commit into
mainfrom
bcblr/json-formatter-performance-v1.10.2

Conversation

@bcblr1993

Copy link
Copy Markdown
Owner

问题与根因

JSON 格式化工具会把 10MB 级内容直接交给主 isolate 和可编辑 TextField。解析、缩进输出、文本布局及一次性树节点构建叠加后,界面会长时间无响应。

本次改动

  • 将格式化、压缩和解析移到后台 isolate,并用任务代次避免过期结果回写。
  • 超过 512KB 时切换大文件模式:完整内容保留用于处理与复制,界面只渲染有界预览。
  • JSON 树按需展开并每批加载 100 项,避免一次构建超大节点集合。
  • 超过 1MB 的内容不写入 SharedPreferences,避免后续启动继续受影响。
  • 补齐中英文提示、性能回归测试、功能冒烟测试与 v1.10.2 发布说明。

验证

  • flutter analyze --no-pub
  • PUB_HOSTED_URL=https://pub.dev dart run custom_lint
  • flutter test --no-pub test/services/ test/models/ test/utils/ test/viewmodels/ test/widgets/:188 项通过
  • 使用实际 超长json.txt(10,745,012 字符、122,985 条):后台格式化约 268ms
  • macOS Release 真实 UI:粘贴约 743ms,格式化约 1.24s,压缩约 927ms,完整复制约 1.01s
  • 全新 macOS Release 构建:版本 1.10.2,严格签名校验通过
  • Worker IPC:hello → accepted → status → stopped

发布

合并后创建 v1.10.2 标签,由 Release workflow 构建 Windows、macOS、Linux 三平台产物。

@bcblr1993
bcblr1993 merged commit 0e4d88d into main Jul 23, 2026
1 check passed
@bcblr1993
bcblr1993 deleted the bcblr/json-formatter-performance-v1.10.2 branch July 23, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants