热点:

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

      [  中关村在线 原创  ]   作者:新闻快讯

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    本文属于原创文章,如若转载,请注明来源:HarmonyOS官网上线“稳定性”专栏 助力更稳定流畅的鸿蒙原生应用开发https://pad.zol.com.cn/946/9466764.html

    pad.zol.com.cn true https://pad.zol.com.cn/946/9466764.html report 2624 鸿蒙应用稳定性是影响用户体验的重要因素之一,常见的稳定性问题包括:崩溃、应用Freeze、内存泄漏、内存越界等。这类问题的定界与定位往往需要丰富的经验积累和技术沉淀,定位过程通常耗时耗力。最近,在鸿蒙开发者官网的最佳实践中上线了稳定性专栏,将DevEco Studio问...
    • 猜你喜欢
    • 最新
    • 精选
    • 相关
    推荐经销商
    投诉欺诈商家: 010-83417888-9185
    • 北京
    • 上海
    • 平板电脑
    • 新品上市
    推荐问答
    提问
    0

    下载ZOL APP
    秒看最新热品

    内容纠错