应用质量概览
======

DFX（Design For eXcellence）是指产品的非功能性设计的总称，其中X代表产品的某个特性或产品生命周期的某个阶段。HarmonyOS DFX子系统提供了一系列DFX功能，帮助开发者创建高质量的应用和游戏。这些功能包括：

*   DFR（Design For Reliability）可靠性设计：提供应用崩溃、卡死、资源泄漏、地址越界等故障的检测与恢复功能。
*   DFT（Design For Testability）可测试性设计：提供日志、跟踪、调试信息、命令行工具等，以支持应用的观测与调试。
*   DFP（Design For Performance）性能设计：提供应用启动慢、卡顿、丢帧等性能问题的检测功能，以及hitrace、hiperf等分析工具，帮助开发者优化性能。

这些DFX功能涵盖了故障管理、问题上报、问题分析等多个方面，具体能力分类详见下方表格：

#### 基础能力

| 
**场景**

 | 

**子场景**

 | 

**组件或工具**

 |
| :-- | :-- | :-- |
| 

故障管理

 | 

稳定性检测

 | 

[崩溃检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/crash-detection)

 |
| 

[Resource Leak（资源泄漏）检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/resource-leak-guidelines)

 |
| 

[AppFreeze（应用冻屏）检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/appfreeze-guidelines)

 |
| 

[AddrSanitizer（地址越界）检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/address-sanitizer-guidelines)

 |
| 

[任务超时检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/apptask-timeout-guidelines)

 |
| 

性能检测

 | 

[性能检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/perf-detection)

 |
| 

功耗检测

 | 

[功耗检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/power-detection)

 |
| 

错误管理

 | 

[errorManager（错误管理组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/errormanager-guidelines)

 |
| 

故障恢复

 | 

[appRecovery（应用恢复组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/apprecovery-guidelines)

 |
| 

问题上报

 | 

事件订阅

 | 

[HiAppEvent（事件打点组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hiappevent)

 |
| 

问题分析

 | 

日志

 | 

[HiLog（日志打印组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hilog-dev)

 |
| 

跟踪

 | 

[HiTraceMeter（进程轨迹跟踪组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hitracemeter)

 |
| 

[HiTraceChain（分布式调用链跟踪组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hitracechain)

 |
| 

调试信息

 | 

[HiDebug（调试信息获取组件）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hidebug)

 |
| 

命令行工具

 | 

[hdc（调试连接器命令行工具）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hdc)

 |
| 

[hilog（HiLog命令行工具）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hilog)

 |
| 

[hilogtool（HiLog日志解析工具）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hilog-tool)

 |
| 

[hidumper（系统信息导出工具）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hidumper)

 |
| 

[hitrace（HiTraceMeter命令行工具）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hitrace)

 |
| 

[hiperf（性能数据抓取工具）](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hiperf)

 |
| 

[更多](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/debugging-commands)

 |
| 

界面化工具

 | 

[SmartPerf(性能功耗调优工具)](https://gitcode.com/openharmony-sig/smartperf)，[DevEco Studio(HarmonyOS应用集成开发环境)](https://developer.huawei.com/consumer/cn/deveco-studio/)

 |

#### 场景化知识地图

在开发及运维过程中，如果遇到稳定性、性能、功耗相关的问题，可以参考如下场景化知识地图进行分析和解决。

| 
**场景**

 | 

**二级场景**

 | 

**开发态检测**

 | 

**运行态检测**

 | 

**分析**方法

 | 

案例

 |
| :-- | :-- | :-- | :-- | :-- | :-- |
| 

稳定性

 | 

地址越界

 | 

*   [地址越界检测工具原理](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-address-sanitizer-principle)
*   [使用ASan检测内存错误](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-asan-detection)
*   [使用HWASan检测内存错误](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-hwasan-detection)
*   [使用GWP-ASan检测内存错误](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-gwpasan-detection)

 | 

*   [地址越界类问题检测方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-runtime-address-sanitizer-detection)

 | 

*   [地址越界类问题分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-address-illegal-way)
*   [地址越界问题类型](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-address-sanitizer-catagory)

 | 

*   [地址越界类问题案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-address-sanitizer)

 |
| 

资源泄漏

 | 

*   [开发态资源泄漏类问题检测](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-leak-detection)

 | 

*   [运行态资源泄漏类问题检测方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-runtime-leak-detection)

 | 

*   [内存泄漏分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-leak-way#section728319329442)
*   [句柄泄漏分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-leak-way#section9594173320417)
*   [线程泄漏分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-leak-way#section282262074411)

 | 

*   [native内存泄漏类问题案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-leak#section10929163884819)
*   [PixelMap泄漏导致ashmem内存泄漏案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-leak#section189600384502)
*   [句柄泄漏类问题案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-leak#section5313162915382)
*   [线程泄漏类问题案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-leak#section107128486383)
*   [更多…](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-leak)

 |
| 

应用冻屏

 | 

\-

 | 

*   [THREAD\_BLOCK\_6S 应用主线程卡死超时检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/appfreeze-guidelines#thread_block_6s-应用主线程卡死超时)
*   [APP\_INPUT\_BLOCK 用户输入响应超时检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/appfreeze-guidelines#app_input_block-用户输入响应超时)

 | 

*   [应用冻屏分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-app-freeze)

 | 

*   [应用冻屏类问题案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-app-freeze)

 |
| 

应用异常退出

 | 

*   [使用TSan检测线程问题](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-tsan-detection)
*   [使用UBSan检测未定义行为](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-ubsan-detection)

 | 

*   [JS Crash（进程崩溃）检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/jscrash-guidelines)
*   [Cpp Crash（进程崩溃）检测](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cppcrash-guidelines)
*   [应用被查杀问题检测](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-runtime-appkilled-detection)

 | 

*   [JS Crash类问题分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-app-crash-js-way)
*   [CppCrash类问题分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-app-crash-cpp-way)
*   [应用被查杀类问题分析方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-stability-app-killed-way)

 | 

*   [应用异常退出类问题案例](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-stability-exception-exit)

 |
| 

性能

 | 

应用启动慢

 | 

*   [CodeLinter静态扫描工具](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-performance-detection#section145453441571)
*   [AppAnalyzer动态检测应用性能问题](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-performance-detection#section135451444171)

 | 

*   [启动耗时类问题检测方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-performance-startup-time-detection)
*   [主线程超时类问题检测方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-performance-mainthread-consumption-detection)

 | 

\-

 | 

\-

 |
| 

应用卡顿、丢帧

 | 

*   [滑动丢帧类问题检测方法](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-performance-sliding-frame-drop-detection)

 | 

*   [点击响应时延分析](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-click-to-click-response-optimization)
*   [点击完成时延分析](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-click-to-complete-delay-analysis)
*   [Web页面内点击响应时延分析](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-web-click-response-delay-analysis)
*   [Web加载流程及完成时延分析](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-web-completion-delay-analysis)
*   [跨线程序列化耗时问题分析](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-threads-serialization-timeout-analysis)
*   [丢帧问题分析](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-zhenlv)
*   [内存基础知识及优化思路](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-memory-basic-knowledge)

 | 

*   [优化Web场景下的加载性能问题](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-web-develop-optimization)
*   [优化应用冷启动时延问题](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-application-cold-start-optimization)
*   [优化长列表加载慢丢帧问题](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-best-practices-long-list)
*   [优化瀑布流加载慢丢帧问题](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-waterflow-performance-optimization)
*   [更多...](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-scenario-performance-optimization)

 |
| 

功耗

 | 

应用异常耗电

 | 

*   [HiSmartPerf功耗检测](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-application-power-test#section1701321935)
*   [Profiler功耗检测](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-application-power-test#section2779154791312)

 | 

[运行态功耗检测](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-power-consumption-runtime-analysis)

 | 

*   [CPU 高负载问题分析思路](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-high-cpu-load-analysis)
*   [前台不可见动效问题分析思路](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-frontend-invisible-animation-analysis)

 | 

*   [Vsync低功耗优化](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-vsync-power-optimization)
*   [Buffer低功耗优化](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-buffer-power-optimization)

 |

对于开发态检测，除上表提到的检测方法外，还可以使用专业的测试工具[DevEco Testing](https://developer.huawei.com/consumer/cn/next/deveco-testing/)对应用进行质量测试。

#### 常用术语

下表列出了一些常见的应用质量相关术语方便开发者进行查阅，更多的术语可查看[Performance Analysis Kit术语](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology)。

| 
场景

 | 

常用术语

 |
| :-- | :-- |
| 

通用

 | 

[log版本](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#log版本)，[nolog版本](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#nolog版本)，[debug版本应用](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#debug版本应用)，[release版本应用](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#release版本应用)

 |
| 

稳定性

 | 

[CPP Crash](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#cpp-crash)，[JS Crash](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#js-crash)，[AppFreeze](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#appfreeze)，[ASan](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#asan)，[HWASan](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#hwasan)，[GWP-ASan](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#gwp-asan)，[TSan](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#tsan)，[UBSan](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#ubsan)

 |
| 

性能

 | 

[丢帧](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#丢帧)

 |
| 

功耗

 | 

[前台任务](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#前台任务)，[后台任务](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#后台任务)，[帧率](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#帧率)，[LTPO](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#ltpo)，[冗余绘制](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#冗余绘制)，[不可见动效](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#不可见动效)，[HWC](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#hwc)

 |
| 

内存

 | 

[VSS](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#vss)，[PSS](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#pss)，[RSS](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#rss)，[脏页](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#脏页)，[干净页](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#干净页)，[匿名页](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#匿名页)，[文件页](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit-terminology#文件页)

 |

#### 相关主题

*   [Performance Analysis Kit（性能分析服务）指南](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/performance-analysis-kit)
*   [Performance Analysis Kit（性能分析服务）API参考](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/performance-analysis-api)
*   [应用质量FAQ](https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-performance-analysis-kit)
*   [HarmonyOS应用DFX能力介绍（视频）](https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101705113085386097?pathId=101667550095504391)