🔥个人主页:杨利杰YJlio
❄️个人专栏:《Windows 疑难杂症与工单复盘案例库》 《Sysinternals实战教程》
《WINDOWS教程》 《Windows PowerShell 实战》 《IOS插件分析测试》
《超简单:用Python让Excel飞起来》
🌟让复杂的事情更简单,让重复的工作自动化
HarmonyOS学习笔记70:高级能力阶段复盘与方案取舍
文章目录
- HarmonyOS学习笔记70:高级能力阶段复盘与方案取舍
- 一、先梳理能力边界,再讨论方案
- 二、用约束条件筛选,而不是按热门程度选技术
- 三、多设备适配:先判断空间变化是否影响任务
- 四、图片能力:把选择、呈现和失败处理分开
- 五、AI 调用:价值、隐私和失败退路一起评估
- 六、性能优化:有可复现的问题,再投入优化成本
- 七、测试能力:覆盖风险,而不是只追求用例数量
- 八、把取舍理由写下来,方便以后重新评估
- 发布前的实际工程记录
- 总结
- 参考资料
大家好,我是杨利杰 YJlio。
进入一个新阶段,最容易遇到的诱惑是“能力越多越好”:多设备适配、图片处理、AI 调用、性能优化和测试都想做进同一个工程。但每增加一种能力,也会增加权限、版本适配、状态管理、异常处理和验证成本。
这篇笔记不把能力清单当作项目需求。我会用场景、收益、约束和验证成本来做一次阶段复盘,整理什么时候值得引入某项能力、需要准备哪些回退方案,以及如何留下可复查的决策记录。原稿没有具体工程、设备和实测结论,文中示意图不代表功能已实现。
一、先梳理能力边界,再讨论方案
本阶段提到的主题跨度较大:设备适配影响布局与交互,图片能力涉及内容选择与呈现,AI 调用增加网络和数据边界,性能优化依赖运行证据,测试则需要把场景组织成可重复用例。它们不是可以互相替代的功能,也不必同时进入每个应用。
我会先把能力对应到具体用户任务,再问三个问题:它解决的困难是否真实存在?现有实现是否已经足够?引入后的风险和维护成本能否承担?没有明确场景,就先不增加能力。
二、用约束条件筛选,而不是按热门程度选技术
做方案取舍时,我会把必须满足的约束写在前面,例如目标设备、是否需要离线、数据是否敏感、交互能否等待、失败时用户还能做什么,以及团队能否长期维护。约束明确后,再比较方案的收益和代价。
| 评估维度 | 需要回答的问题 |
|---|---|
| 用户价值 | 哪个具体任务因此更容易完成? |
| 设备范围 | 目标设备有哪些形态、尺寸或硬件差异? |
| 数据边界 | 是否处理个人信息或需要额外授权? |
| 网络依赖 | 断网或服务失败时,主流程如何降级? |
| 运行成本 | 对响应、资源、调用费用或存储有何影响? |
| 验证成本 | 如何证明它在目标场景中按预期工作? |
| 长期维护 | 版本变化、依赖升级和问题定位由谁负责? |
表格是评审提示,不是对某个实际项目的结论。不同业务对各维度的优先级不同,不能把一份通用打分表直接当作最终设计。
三、多设备适配:先判断空间变化是否影响任务
多设备适配的重点不是把手机页面等比例放大,而是确认不同屏幕、方向和窗口空间下,信息层级与关键操作是否仍然合适。官方适配指南也将设计、开发实现和调测验证作为连续过程;实际工程还应根据支持的设备范围选择验证场景。
取舍时我会依次检查:
- 目标设备和窗口模式是否在产品范围内,而不是为了“支持更多设备”盲目扩大目标。
- 页面内容是否需要随空间调整,例如单列变为分栏,或保留关键操作的可见性。
- 设备差异是否影响能力本身,例如硬件不可用时是否有替代流程。
- 模拟器、窗口状态切换和目标设备测试是否可以覆盖主要风险。
**适配方案应服务于任务连续性,而不只是页面看起来更宽。**具体布局能力和工程写法要按当前 SDK 与工程模板核验。
四、图片能力:把选择、呈现和失败处理分开
图片功能经常被简化成“选一张图显示出来”,但方案里还要考虑用户如何选择内容、授权范围、图片尺寸和方向、预览时的等待体验,以及取消或读取失败后的反馈。无需保存到业务存储的内容,不应因为实现方便就长期复制或缓存。
我会先确定需求边界:是临时预览、作为表单附件,还是要在下次启动后继续读取。不同目标会影响保存路径、数据生命周期和错误恢复方式。实现前应核对官方文档中当前 SDK 支持的选择与访问机制;本文不指定未经工程核验的 API 名称。
评审时至少确认:用户取消后页面状态是否恢复;读取失败是否有明确提示;大图或格式差异是否影响体验;不再需要的临时资源是否会清理;界面展示是否会泄露不应公开的本地路径或元数据。
五、AI 调用:价值、隐私和失败退路一起评估
调用 AI 服务前,我会先说明它比现有规则或本地逻辑多解决了什么问题。若只是把确定性的表单校验交给外部模型,可能会增加网络等待、结果不确定性、隐私审查和费用,而没有相称的用户收益。
一份可讨论的方案应交代:发送哪些输入,是否包含个人或敏感数据;用户是否知道数据会被处理;请求失败、超时或结果不可用时如何返回;生成结果是否需要用户确认;调用量、费用和密钥管理如何纳入工程治理。
没有实际服务、接口契约和安全评审信息时,不应把一段“调用示例”描述成已经接通的能力。先明确输入边界和失败路径,再决定是否接入。
六、性能优化:有可复现的问题,再投入优化成本
性能优化应从实际现象和测量证据出发。响应慢、滑动不连贯或资源增长只是线索;还需要固定场景、采集数据、定位可能根因,修改后在相同条件下复测。华为开发者文档对 DevEco Profiler 的流程也强调观察、定位、优化与验证的循环。
我会先确认问题是否影响关键任务,再评估优化收益与复杂度。如果没有稳定复现,也没有基线数据,就不先引入缓存、并发或复杂调度策略;这些做法本身也会带来一致性、内存或调试成本。
七、测试能力:覆盖风险,而不是只追求用例数量
测试方案要从目标设备、用户路径和故障条件出发。设备或窗口差异、权限拒绝、网络失败、空数据和连续操作都可能改变结果;哪些组合必须覆盖,应由风险和产品范围决定。
| 场景维度 | 示例检查方向 | 实际状态 |
|---|---|---|
| 设备与窗口 | 不同屏幕空间、方向或窗口状态 | 待按目标范围填写 |
| 图片流程 | 选择、取消、读取失败和再次进入 | 待实测 |
| 网络与 AI | 离线、超时、服务不可用、结果异常 | 待实测 |
| 权限 | 首次授权、拒绝、后续状态变化 | 待实测 |
| 性能 | 固定步骤下的基线与复测记录 | 待采集 |
矩阵中的场景是测试设计方向,不是已执行结果。用例数量本身不能说明覆盖质量;每条记录都应有前置条件、操作步骤、预期状态和实际证据。
八、把取舍理由写下来,方便以后重新评估
技术决策不是“选了某个方案”就结束。需求、设备范围、SDK 和服务依赖可能变化;记录当初的假设和限制,后续才能判断方案是否仍合适。
可以用一页轻量决策记录保留这些内容:
| 项目 | 记录内容 |
|---|---|
| 场景与目标 | 谁在什么情况下遇到什么问题 |
| 候选方案 | 包含不新增能力的方案 |
| 关键约束 | 设备、隐私、离线、响应和维护要求 |
| 最终决定 | 选择了什么,哪些能力暂缓 |
| 风险与回退 | 失败时如何降级,如何恢复 |
| 验证证据 | 测试记录、性能数据、评审或用户反馈 |
| 复评条件 | 哪些需求或环境变化会触发重新评估 |
发布前的实际工程记录
原始草稿没有提供真实工程版本、设备、AI 服务接入情况或运行结果。正式发布前请按实际情况补充;尚未执行的项目继续标记待测,不要写成已经验证。
| 项目 | 实际记录 |
|---|---|
| DevEco Studio 与 SDK/API 版本 | 待填写 |
| 目标设备与窗口形态 | 待填写 |
| 本阶段实际实现的能力 | 待填写 |
| 涉及的权限、数据与网络边界 | 待补充 |
| 构建、运行和测试证据 | 待实测 |
| 暂缓能力及原因 | 待填写 |
总结
高级能力复盘不是把所有技术都装进一个工程,而是把它们和真实场景逐一对应。设备适配看任务是否因空间变化受影响,图片与 AI 能力要先想清数据边界和失败退路,性能优化需要测量依据,测试计划则围绕实际风险展开。
我会优先选择能解决明确问题、可以验证并且团队能维护的方案;暂时没有证据的结论,就先留在待验证清单里。
参考资料
- 华为 HarmonyOS 开发者:鸿蒙应用多设备通用适配指南。适配涉及设计、实现和验证,具体能力按目标设备与当前工程核对。
- 华为 HarmonyOS 开发者:访问控制(权限)开发概述。权限应围绕必要业务能力评估;具体声明和接口需查对应版本。
- 华为 HarmonyOS 开发者文档:性能优化过程简介。性能分析通过观察、定位、优化和验证形成循环。
- 原始学习笔记:
070_20261129_HarmonyOS学习笔记_高级能力阶段复盘与方案取舍.md。
说明:本文为学习复盘模板;配图均为概念示意,不代表真实工程界面、服务接入或设备实测。具体 API、配置和实际结果请按工程使用的 SDK 与设备核验。
返回顶部