过去30年,华为踩过无数的坑。现在华为将踩过的坑总结成了经验,固化到产品开发中,形成了一套独具特色的开发测试能力——DFX(Design for eXcellent)。

DFX主要是诊断APP常见的内存越界,内存泄漏,卡死/卡顿这三项问题,能帮助广大开发者提前消除疑难BUG。
内存越界
内存越界使用,容易产生有着极大不确定性的问题。这种问题不易重现,甚至有时不会对程序的运行产生影响,所以容易被忽视。但这个问题一旦爆发,将造成致命性的打击和破坏。
要想解决内存访问越界,得进行仔细的代码走查、单步跟踪、观察变量,并在调试环境的帮助下对变量进行写入跟踪。此外,还值得注意的是,有时出现错误的地方,往往不是真正内存越界的地方。要想快捷高效地解决这个问题,可以使用DevEco Studio的DFX测试,通过内存标记和调用追踪,即可精准的定位到越界代码行。
内存泄漏
虽然垃圾回收器会帮忙清理大部分无用的内存空间,可对于在引用和逻辑上不再用到的对象,垃圾回收器不会回收。这部分内存空间使用后没被回收,会导致内存泄漏。虽然一次内存泄露的危害可以忽略,但内存泄露不断地堆积,迟早会占光所有内存。
内存泄漏按照发生的方式分类,可分为:1.常发性内存泄漏;2.偶发性内存泄漏;3.一次性内存泄漏;4.隐式内存泄漏。其中隐式内存泄漏是最难被检测出且危害性最大的。
DevEco Studio的DFX测试采用全栈部署,从识别问题到自动开启调用链,再到问题定位,最后站式定位内存泄漏的代码行,快速帮助开发者找到bug所在。
卡顿/卡死
手机APP卡死/卡顿,需要用户强制关闭、重启,不仅浪费手机电量,还白白浪费了流量,易造成用户体验不佳、用户流失。
此外,卡死/卡顿频发的原因一般很难排查,一方面链路太长,寻找原因无从下手;另一方面日志不全或监控不足,导致发现问题不及时。
好在DevEco Studio的DFX测试采用多探针联合检测判决,覆盖系统各个层次,多维全面监控冻屏问题;并提供完整的卡死,崩溃调用栈日志,精准检测引发卡死/卡顿的原因所在。
看到这里,是不是对华为专项的DFX测试产生了强烈的兴趣,欢迎点击DFX测试进行体验。





































苏公安网备 32011402010933号