0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为助力更稳定流畅的鸿蒙原生应用开发

HarmonyOS开发者 来源:HarmonyOS开发者 2025-02-10 14:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

鸿蒙应用稳定性是影响用户体验的重要因素之一,常见的稳定性问题包括:崩溃、应用Freeze、内存泄漏、内存越界等。这类问题的定界与定位往往需要丰富的经验积累和技术沉淀,定位过程通常耗时耗力。

最近,在鸿蒙开发者官网的最佳实践中上线了稳定性专栏,将DevEco Studio问题定位工具与稳定性实际场景相结合,帮助开发者用好工具的同时,降低稳定性问题定位的难度。

下面以CppCrash的问题为例,介绍一下如何根据新上线的“稳定性”专栏分析和定位稳定性问题。

b5b88cea-e764-11ef-9310-92fbcf53809c.jpg

当我们在开发中遇到了CppCrash问题,应用会闪退,FaultLog会弹出对应的错误日志:红色Reason部分为CppCrash触发的原因,该Crash的原因是系统抛出的SIGSEGV信号Crash了运行的应用。通常情况下点击蓝色的链接部分,可以跳转到对应出错的代码行。通过SIGSEGV信号量判断出代码中存在无效的内存引用,一般为下面三种情况:访问空指针、访问已经释放的内存和内存访问越界。但具体是哪种情况触发的应用闪退,还需要我们根据相应代码片段进行具体分析,较为耗时。我们可以参考稳定性专栏中的相关内容,来降低定位难度并缩减定位时间。

对于由内存错误引起的运行态问题,我们可以选择稳定性专栏目录下的稳定性检测/运行态检测/内存检测中介绍的工具。

b5c9c29e-e764-11ef-9310-92fbcf53809c.jpg

此处我们选择使用HWAsan检测内存错误的章节,根据章节的内容描述,我们勾选DevEco Studio中的HWAsan功能,开启HWAsan检测之后,点击run重新运行编译推包,编译工具会将HWAsan检测开关打开,同时对Cpp代码进行插桩,增加调试信息。

b5da34f8-e764-11ef-9310-92fbcf53809c.jpg

重新运行编译推包之前产生CppCrash的程序,应用发生闪退,弹出FaultLog。

b5e3199c-e764-11ef-9310-92fbcf53809c.jpg

通过勾选HWasan后产生的FaultLog我们可以看到,该日志在提供出错代码片段跳转链接的同时,还通过Cause部分进一步确定了该Crash是由heap-buffer-overflow导致的。根据Cause原因,在使用HWAsan检测内存错误文章中找到HWasan异常检测类型中对应的类型,可明确该错误是由运行程序访问堆内存越界导致的。通过稳定性中该章节的指导,大大降低了我们对CppCrash日志的解读难度与相关内存问题定位的门槛,同时也节省了排查可疑问题类型的时间。

b5ec4b20-e764-11ef-9310-92fbcf53809c.jpg

此外,专栏还提供了稳定性分析的内容,该部分列举了常见场景中问题的排查方法与案例分析,如果我们开发过程中可以确定稳定性问题的具体场景,就可以参考相应场景的排查方法来对问题进行定位,如上述CppCrash的例子就是地址越界的场景,可以看到地址越界问题排查方法部分也可以开启HWAsan检测。而关于案例分析部分,则是以实际案例,来帮助我们开发者更好的理解并应用不同场景下的问题排查方法。

b5f9d2ea-e764-11ef-9310-92fbcf53809c.jpg

除了上述解决应用致命稳定性问题的稳定性检测与分析章节,该专栏还包含了如何持续建设应用稳定性的内容,即稳定性优化与稳定性运维两个部分,稳定性优化主要从规范性的角度出发,介绍了如何通过良好的编码习惯和有效的日志维护方案来提升应用的健壮性和定位效率;稳定性运维则是从应用上线并长期使用/运行的角度的出发,概述如何构建管理平台,帮助我们开发者监控应用的运行状态,从而及时发现并解决应用潜在问题。

更多详细内容可在鸿蒙开发者官网->开发-> 开发文档->最佳实践下进入“稳定性”专栏,希望无论是初学者还是资深开发者,都能在这里有所收获,开发出更稳定流畅的鸿蒙原生应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    9

    文章

    3255

    浏览量

    76579
  • 代码
    +关注

    关注

    30

    文章

    4983

    浏览量

    74531
  • 鸿蒙
    +关注

    关注

    60

    文章

    3058

    浏览量

    46263

原文标题:HarmonyOS官网上线“稳定性”专栏 助力更稳定流畅的鸿蒙原生应用开发

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    支付宝FluidMarkdown鸿蒙版正式开源

    ,FluidMarkdown 鸿蒙版不仅显著提升了鸿蒙 AI 应用的文本渲染体验,也为开发者带来了更便捷、更流畅、高度可定制的开发能力,
    的头像 发表于 12-26 13:42 908次阅读

    直流变换电源哪家更稳定?看看这些品牌!

    在电子设备和工程项目中,直流变换电源的稳定性至关重要。它不仅影响设备的性能,还直接关系到项目的成功。那么,面对众多品牌,我们该如何选择一款更稳定的直流变换电源呢?
    的头像 发表于 12-16 09:45 540次阅读
    直流变换电源哪家<b class='flag-5'>更稳定</b>?看看这些品牌!

    鸿蒙生态学堂创新实训营东莞站圆满落幕,助力港澳企业开发者把握万物互联新机遇

    近日,华为鸿蒙生态学堂在东莞松山湖华为培训基地,成功举办了面向港澳企业开发者的“2025鸿蒙生态学堂·创新实训营”。本次为期三天的企业级专场
    的头像 发表于 11-21 10:39 412次阅读
    <b class='flag-5'>鸿蒙</b>生态学堂创新实训营东莞站圆满落幕,<b class='flag-5'>助力</b>港澳企业<b class='flag-5'>开发</b>者把握万物互联新机遇

    华为推出鸿蒙智能交通气象站

    华为全联接大会2025期间,在气象海洋论坛上,华为联合陕西省气象局发布鸿蒙智能交通气象站,这标志着陕西在落实中国气象局“观测即服务”理念、抢占交通气象服务高地上取得重大突破,助力交通安
    的头像 发表于 09-20 14:41 1514次阅读

    基于开源鸿蒙的视频播放开发样例

    在开源鸿蒙生态建设中,多媒体能力是构建丰富用户体验的核心要素。本开发样例针对视频播放场景,聚焦开源鸿蒙原生媒体框架,通过Video组件实现视频资源加载、播放状态控制及多样化展示形态。重
    的头像 发表于 08-19 10:41 1934次阅读
    基于开源<b class='flag-5'>鸿蒙</b>的视频播放<b class='flag-5'>开发</b>样例

    【HarmonyOS 5】金融应用开发鸿蒙组件实践

    原生鸿蒙操作系统星河版,面向开发者开放申请,余承东宣布鸿蒙生态设备数达 8 亿台;建设银行、邮储银行等完成鸿蒙
    的头像 发表于 07-11 18:20 1203次阅读
    【HarmonyOS 5】金融应用<b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>组件实践

    鸿蒙5开发宝藏案例分享---一多开发实例(音乐)

    各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接
    的头像 发表于 06-30 11:54 900次阅读

    开源鸿蒙亮相华为开发者大会2025

    此前,6月20-22日,华为开发者大会(HDC2025)在松山湖盛大召开。在大会的互动展区中,开源鸿蒙重磅亮相,系统性地展示了其开源四年多来,在行业应用、消费终端及AI等领域的丰硕成果。
    的头像 发表于 06-26 17:21 1356次阅读

    华为携手生态伙伴共建鸿蒙场景化创新能力

    近日,为期3天的华为开发者大会2025在松山湖拉开序幕,全面展示了鸿蒙生态在应用开发领域的最新成果与实践经验。在主题演讲环节,华为常务董事、
    的头像 发表于 06-25 13:40 1164次阅读

    ArkUI-X跨平台技术落地-华为运动健康(一)

    现状与诉求 目前,华为运动健康App在Android 和 iOS均有独立的客户端工程,在原生页面部分,两个客户端独立开发,代码各自维护和演进,会带来各自独立的开发工作量,并且两个端之间
    发表于 06-18 22:53

    鸿蒙5开发宝藏案例分享---性能体验设计

    ?** 鸿蒙性能优化宝藏指南:让你的应用丝滑如飞!** 大家好呀!最近在HarmonyOS文档里挖到一个性能优化的\"黄金矿脉\"——官方其实藏了超多流畅性设计的实战案例!但很多
    发表于 06-12 16:45

    鸿蒙5开发宝藏案例分享---体验流畅的首页信息流

    ?** 鸿蒙新闻类首页开发全攻略:流畅动效+懒加载实战** Hey 各位鸿蒙开发者! 今天要分享一个超实用的
    发表于 06-12 11:42

    鸿蒙5开发宝藏案例分享---在线短视频流畅切换

    “别卷了!鸿蒙官方早把‘性能优化外挂’塞你手里了,就藏在开发者联盟的【最佳实践】里!” 兄弟们,最近在鸿蒙开发者联盟里扒文档时, 无意间挖到个宝藏分区——【最佳实践】 **。好家伙!几
    发表于 06-12 11:31

    Kuikly鸿蒙版正式开源 —— 揭秘卓越性能适配之旅

    持续的迭代和打磨优化,Kuikly鸿蒙版完整适配,并取得了原生性能表现。 实测数据如下: (测试场景是一个较复杂的Feed流场景,机型均为华为Mate60) 在鸿蒙平台上,Kuiky打
    发表于 06-04 16:46

    华为亮相2025开源鸿蒙开发者大会

    近日,开源鸿蒙开发者大会2025(以下简称大会)在深圳成功举办。大会以开源鸿蒙5.1 Release版本发布为契机,聚焦开源鸿蒙技术革新和社区发展,全面呈现“Powered
    的头像 发表于 05-29 09:07 1540次阅读