Administrator
发布于 2026-09-03 / 9,742 阅读
0
0

鸿蒙深度专题回顾:第 61-70 篇知识图谱与下阶段路线

鸿蒙百篇系列第 70 篇 · 专家

到这里,鸿蒙百篇系列已经走过 70%——前 60 篇打基础、做应用、上工程,61-70 篇钻到底层去看"系统是怎么搭起来的"。这一篇不引入新概念,专门做两件事:把第 61-70 篇的内容重新整理,让你能在 30 分钟内回顾起整个深度专题;同时给出后 30 篇的方向预告,方便你挑自己最想深入的领域读下去。

一、第 61-70 篇一句话回顾

篇

主题

一句话总结

61

ArkUI 渲染管线

RenderNode、FrameNode、NodeController 三层 API 怎么用

62

分布式数据管理

DDO、KV、DataShare 三种同步方案怎么选

63

安全沙箱

进程、目录、能力三层隔离的边界与误用

64

NDK 原生开发

CMake 工程 + Node-API + 异步三件套

65

多窗口开发

主窗口/子窗口/悬浮窗 + WindowStage 生命周期

66

图形栈与 Surface

XComponent + EGL 自绘 + Render Service 合成

67

电源管理

RunningLock、Thermal、后台保活的真实边界

68

包管理机制

HAP/HSP、bundleManager、bm 命令

69

系统服务框架

SAMgr、SA 注册、跨设备远程调用

70

深度专题回顾

本文

二、按主题域重组:九宫格知识图谱

把这十篇内容按"开发者关心的问题"重新分组,会得到下面这个九宫格。每一格都是独立的工程问题领域,对应后面所有"专题系列"的归属。

┌─────────────────────────┬─────────────────────────┬─────────────────────────┐
│  ① 渲染                 │  ② 跨设备              │  ③ 安全                  │
│  RenderNode (61)        │  DDO/KV/DataShare (62)  │  沙箱/权限 (63)         │
│  XComponent (66)        │  System Ability (69)    │  签名/HSP (68)          │
├─────────────────────────┼─────────────────────────┼─────────────────────────┤
│  ④ 进程与通信           │  ⑤ 底层原生             │  ⑥ 窗口                 │
│  IPC/SAMgr (69)         │  NDK/Node-API (64)      │  WindowStage (65)       │
│  IPC (60章体系)         │  Native Surface (66)    │  悬浮窗 (65)            │
├─────────────────────────┼─────────────────────────┼─────────────────────────┤
│  ⑦ 资源与电源           │  ⑧ 编译与打包          │  ⑨ 实战综合             │
│  RunningLock (67)       │  HAP/HSP (68)           │  后台保活 (67)          │
│  Thermal (67)           │  bm CLI (68)            │  按需下载 (68)          │
│                         │                         │  持续集成 (待 71)       │
└─────────────────────────┴─────────────────────────┴─────────────────────────┘

① 渲染

61 + 66 一起读,建立"App → FrameNode → RenderNode → Render Service → GPU"的认知链路。

② 跨设备

62 + 69 一起读,把"分布式数据"和"分布式服务"两条线交叉看——一些分布式能力是数据视角,一些是 RPC 视角。

③ 安全

63 + 部分 68 内容。理解"为什么应用之间天然隔离"+“HAP 为何必须签名”。

④ 进程与通信

69 是核心。第 56 篇 IPC 也指向这条线。

⑤ 底层原生

64 + 66。一篇讲 NDK 接口,一篇讲 NDK 怎么上屏。两者一起等于"Native 自绘高清图表"的全套知识。

⑥ 窗口

第 4 篇路由 + 第 65 篇多窗口 + 第 60 章的回顾。

⑦ 资源与电源

第 67 篇 Power + 第 51 篇启动(启动阶段最吃 CPU)。

⑧ 编译与打包

第 68 篇是底层,第 20 篇是上架的运维视角。

⑨ 实战综合

这几篇是"复杂业务的工程拼图",会跨多个主题。

三、按开发阶段切片:从入门到专家

这一节把 70 篇按"做不同事时会查哪一篇"重新索引。

阶段一:从零开始(1-10)

第 01-10 篇。覆盖鸿蒙开发工具链、ArkTS 语法、组件、路由、网络。

阶段二:服务集成(11-20)

第 11-20 篇。覆盖元服务、安全、推送、音视频、地图、支付、HiAI、跨平台、测试、上架。

阶段三:专项能力(21-30)

第 21-30 篇。覆盖图形、并发、RDB、文件、蓝牙/NFC、传感器、车机、手表、IoT、国际化。

阶段四:工程化(31-40)

第 31-40 篇。性能剖析、包体积、安全加固、组件化、动态化、小程序、CI/CD、监控、架构演进。

阶段五:基础补强(41-50)

第 41-50 篇。补齐 ArkWeb、Stage 模型、NAPI、UX 规范、测试、调试、SDK Framework、H5 容器、设计模式。

阶段六:高级实战(51-60)

第 51-60 篇。启动框架、高效列表、动画进阶、表单引擎、Bridge 设计、IPC、内存管理、主题暗黑、无障碍。

阶段七:深度专题(61-70)

就是这一篇和前 9 篇。钻进系统底层看"为什么这样做"。

阶段八:专家架构(71-80,预计)

阶段九:生态与前沿(81-90,预计)

阶段十:收官(91-100,预计)

四、几个常被问的问题,结合 61-70 篇回答

Q1:我做的页面卡,是 RenderNode 问题还是 XComponent 问题?

大多数时候都不是——首要是看 52 篇高效列表、51 篇启动优化。看 Profiler 的 GPU/CPU 比例:

  • GPU 高 → 减少 RenderNode 重绘、第 61 篇 API

  • CPU 高 → 看 53 篇动画是否过度

只有遇到自绘图表/游戏才考虑 XComponent。

Q2:我的应用是单设备应用,分布式和 SA 部分可以跳过吗?

可以跳,但有代价:

  • 鸿蒙上架后的"原子化服务"、跨设备流转等"官方会推荐"的能力你做不了

  • 某些 API(例如分布式 KV 替代本地 KV)反而省事

建议至少把 62 和 69 的概念部分过一遍。

Q3:要不要直接上 NDK?

只有在三种情况:

  • 已经存在 C++ 库(OpenCV、FFmpeg、自研算法)

  • 真实测量出 ArkTS 是瓶颈

  • 硬件/驱动相关必须走 Native

否则保持 ArkTS,别为了炫技上 NDK。

Q4:电源管理我能做什么、不能做什么?

能:

  • 用 RunningLock 防屏幕熄灭

  • 用 Thermal 自降级

  • 监听电池事件做低电量体验

  • 长任务用 Background Kit 或 Work Scheduler

不能:

  • 找"通用保活"接口

  • 强行反用户设置的省电模式

  • 长时间占锁不让系统睡

Q5:我把应用发布到应用商店,签名证书要换几次?

签名设计原则:

  • Debug 签名:开发期固定使用,无所谓

  • 发布签名:AGC 申请,上架时跟实名一致

  • 企业发布签名:可选,用于企业内部发布

变更证书会导致用户必须卸载再装,所以证书一旦决定别轻换。

五、深度专题篇的"代代相传"

61-70 篇给后面 30 篇铺了三件事:

71-80:专家架构

用前 10 篇打下的底层,做"专家级架构":

  • 大型应用分层(应用层/能力层/服务层/数据层)

  • 错误体系标准化

  • 性能治理系统

  • 灰度与发布

  • 鸿蒙特有的工程模式

81-90:生态与前沿

鸿蒙生态走出"应用层"开始:

  • 元服务生态(卡片 + 场景)

  • 跨生态开发(C/C++、JS/TS、Flutter)

  • 鸿蒙与开源生态

  • 软硬件协同(车机、IoT、PC)

  • 鸿蒙 + AI/ML 体系

91-100:收官与展望

  • 鸿蒙百篇回顾

  • 知识地图 + 学习路径

  • 团队实践

  • 生态观察

六、为什么这一阶段被称为"深度专题"

61-70 篇的主题之所以归一类,不是它们都"难",而是因为它们都"钻到底层":

与底层的关系

主题

直接面对系统 API

RenderNode、SA、WindowStage

需要理解子系统架构

沙箱、电源、RunningLock

需要 C++ 工具链

NDK、XComponent、EGL

需要理解"为什么这样设计"

包管理、bundleManager

相比 51-60 篇的"框架设计 / 工程模式",61-70 更关心"鸿蒙怎么会变成这样"。

七、读这 10 篇的推荐路径

如果你时间有限,按下面三个顺序读:

A 序:性能优化方向

61 → 66 → 67 → 65 → 64 → 63

主路径:渲染 → 图形栈 → 电源 → 窗口 → NDK → 安全

B 序:分布式方向

62 → 69 → 65 → 64 → 68 → 63

主路径:数据 → 服务 → 窗口 → NDK → 包 → 安全

C 序:完整工程师视角(推荐)

61 → 64 → 66 → 69 → 62 → 67 → 65 → 68 → 63

按"接近渲染 → 深入 NDK → 跨进程 → 跨设备 → 资源 → 窗口 → 包 → 安全"完整串联。

八、和前几篇的衔接

  • 第 60 篇"高级实战回顾"画的是前 60 篇。这一篇画的是 61-70 篇

  • 第 40 篇做的是前 40 篇回顾并预告后 60 篇,本篇沿用同一结构

  • 后续第 80 篇会做 71-80 的回顾,第 90 篇做 81-90,第 100 篇收官

九、小结

61-70 篇打开了"系统底层"这扇门。你不需要把每一篇都记住,但要在写代码时知道:

  • 卡了,看 61、66、67

  • 数据同步,看 62、69

  • 跨进程合作,看 69

  • 自绘/算法,看 64、66

  • 多设备多窗口,看 65

  • 包、签名、上架,看 68

  • 安全边界,看 63

接下来 71-80 篇的"专家架构",是把这套底层知识向上拉一个层级,进入"架构"领域——届时你会发现 60% 的"架构选择"本质上是"你在哪一层用哪一套底层 API"。

下一篇预告:《鸿蒙专家架构:71-80 篇开场》。如果你在团队里承担"架构师"角色,71-80 篇直接为你而写。


评论