鸿蒙 DFX 新工具及能力合集

0 评论 545 浏览 0 收藏 8 分钟

备受期待的 HarmonyOS 7.0.0(26) Beta 版本已正式发布!本次版本带来了丰富的 DFX(Design For X)新特性,从诊断能力、日志分析到性能优化,全方位实现关键能力升级。这些焕新特性不仅为开发者提供了更加智能、高效的问题定位与解决手段,更为打造更高质量的应用奠定了坚实的技术支撑。无论是日常开发调试,还是复杂场景的性能调优,开发者都将感受到开发效率的显著提升。

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:

鸿蒙 DFX 新工具&能力合集-华为开发者话题 | 华为开发者联盟

 

备受期待的 HarmonyOS 7.0.0(26) Beta 版本已正式发布!

本次版本带来了丰富的 DFX(Design For X)新特性,从诊断能力、日志分析到性能优化,全方位实现关键能力升级。这些焕新特性不仅为开发者提供了更加智能、高效的问题定位与解决手段,更为打造更高质量的应用奠定了坚实的技术支撑。无论是日常开发调试,还是复杂场景的性能调优,开发者都将感受到开发效率的显著提升。

1、ArkTS内存快照聚类分析规则

将快照中的同类对象进行聚类,从而统计出各泄漏对象的影响大小,对定位内存泄漏问题有着关键性的指导作用。

https://developer.huawei.com/consumer/cn/forum/topic/0201217013290146523?fid=0109140870620153026

2、JSLeakWatcher ArkTS 内存泄漏定位利器

HarmonyOS提供了ArkTS内存泄漏检测能力JSLeakWatcher,开发者可轻松接入相关API,实现对系统内具有生命周期的ArkTS组件对象定期执行泄漏自检测。

https://developer.huawei.com/consumer/cn/forum/topic/0207217013856434057?fid=0109140870620153026

3、GlobalHandle运维态能力+MemTrace 日志赋能资源泄漏自诊断

Performance Analysis Kit开放的HiDebug资源采集接口(OHHiDebugStartProfiler/ OHHiDebugStopProfiler),提供线上资源分配栈采集功能,赋能开发者高效实现问题的自诊断与自闭环。

https://developer.huawei.com/consumer/cn/forum/topic/0202217015059997961?fid=0109140870620153026

4、HiAppevent 退出原因订阅能力

新增退出原因订阅能力,用于聚类分析应用上一次非预期退出的问题。系统通过 HiAppevent 提供 APP_KILLED 事件,应用订阅后可获取本应用的上一次退出原因,用于大数据统计分析。如需对退出原因进行进一步分析,可订阅对应故障类型的 HiAppevent(如 APP_CRASH、APP_FREEZE 等)获取详细日志,并通过 app_running_unique_id 进行关联,同一次故障产生的多个事件可快速定位根因。

https://developer.huawei.com/consumer/cn/forum/topic/0202217080969721975?fid=0109140870620153026

5、AppFreeze 增强日志定位主线程繁忙问题

通过抓取主线程在阻塞期间更多的调用栈,帮助开发者快速定位应用主线程繁忙类问题。

APP_INPUT_BLOCK 类型阻塞的超时时长调整为 8 秒,发生时若临近时间存在 THREAD_BLOCK_3S 事件,日志中会自动补充该事件记录;在 THREAD_BLOCK_3S 及 LIFECYCLE_HALF_TIMEOUT 事件到来时,系统会对主线程每隔 300 毫秒采样一次,最多采集 10 次调用栈。

开发者只需在 module.json5 文件中开启主线程采样,订阅 APP_FREEZE 事件的 hiAppEvent,即可获取包含 CPU 使用率、主线程运行时长及调用栈信息的阻塞维测增强日志,按照建议方式处理采样栈即可完成问题定位。

https://developer.huawei.com/consumer/cn/forum/topic/0201217079977121537?fid=0109140870620153026

6、Profiler 跨语言内存分析能力增强

新增支持 Native 持有 ArkTS 内存泄露问题分析能力,覆盖 LocalHandle 和 GlobalHandle 两种句柄类型,能够抓取并展示关联 ArkTS 对象的 Native 分配栈,显著提升跨语言内存泄漏问题分析效率。

https://developer.huawei.com/consumer/cn/forum/topic/0201216402239166435?fid=0109140870620153026

7、GWPAsan 越界检测工具

新增运维态地址越界检测工具 GWPAsan,用于发现和定位应用堆内存释放后使用、堆溢出、重复释放、非法释放等典型踩内存问题。

GWPAsan 无需额外插桩适配,通过对分配的堆内存进行采样监控,性能开销小于 5%,更适合在大规模现网用户和复杂场景下运行,用于发现低概率、难复现的地址越界类问题。

该能力支持开发者按需配置检测参数,包括开启概率、采样率、slot 数及可恢复模式等,可根据开发调试、现网运维等不同场景灵活调整。

当应用发生地址越界问题时,开发者可通过订阅地址越界事件获取故障日志,其中包含报错栈、内存申请栈、释放栈等关键信息。结合日志聚类规则可将多份日志归并分析,减少重复问题干扰,提升踩内存问题的分析效率。

https://developer.huawei.com/consumer/cn/forum/topic/0202217076736491973?fid=0109140870620153026

8、稳定性故障AI诊断能力

AI辅助稳定性诊断能力全面开放,小红书作为首批生态“样板间”率先接入,双方以技术共建为支点,共同打造鸿蒙应用质量保障的标杆范式。

https://developer.huawei.com/consumer/cn/forum/topic/0201217075686092536?fid=0109140870620153026

9、HandleScope自动处理

新增 enableLocalHandleDetection 接口,当开发者调用此接口时,系统会在libuv和EventRunner等事件循环的异步回调中自动添加scope来管理 napi_value 生命周期。

https://developer.huawei.com/consumer/cn/forum/topic/0201217016241279525?fid=0109140870620153026

新版本带来的丰富 DFX 新特性,标志着鸿蒙生态在开发者体验领域迈上了新台阶,我们致力于为开发者打造更加高效、便捷、智能的问题定位与解决能力。

本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!