dfx_img
dfx_img 模块提供图像诊断功能,用于调试时导出图像信息与像素数据。
Class Summary
OHOS::DfxImg
DfxImg 类用于 DFX 图像显示与隐藏控制,采用单例模式管理图像视图的生命周期。
- 构造:无
-
成员函数:
接口名称 功能简述 GetInstance 获取 DfxImg 单例实例 Show 在指定区域显示图像资源 Hide 隐藏并释放当前显示的图像 -
使用包含头文件:
#include "dfx/dfx_img.h" - 声明头文件:
/src/middleware/services/gui/uikit/proprietary/include/dfx/dfx_img.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
Functions
OHOS::DfxImg
GetInstance
static DfxImg* GetInstance()
功能说明
- 核心用途:获取 DfxImg 类的全局单例实例
- 设计目的:通过静态局部变量实现单例模式,确保全局仅存在一个 DfxImg 实例
- 使用场景:在需要进行 DFX 图像显示或隐藏操作前,通过此接口获取单例对象后调用 Show/Hide 方法
Show
void Show(Rect rect, uint32_t resId, std::string file, bool isAutoSize, uint8_t mode)
功能说明
- 核心用途:在指定矩形区域显示图像资源
- 设计目的:根据资源 ID 或文件路径加载图像资源,设置图像位置、尺寸与缩放模式,并将其添加到根视图中渲染显示
- 使用场景:DFX 调试场景中需要在屏幕指定位置显示调试图像信息
- 资源管理:若之前已加载图像资源,会先卸载旧资源再加载新资源,避免资源泄漏
- 并发安全:非线程安全,需在同一调用上下文中使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| rect | Rect | 图像显示的矩形区域,包含位置与尺寸信息 | Rect 对象需包含合法坐标值 |
| resId | uint32_t | 图像资源 ID,用于多资源场景下的资源索引 | 0 表示使用文件路径加载;非 0 表示按资源 ID 加载 |
| file | std::string | 图像资源文件路径,入参只读值传递 | 有效的资源文件路径字符串 |
| isAutoSize | bool | 是否自动调整图像尺寸 | true:自动适配;false:按 rect 指定尺寸显示 |
| mode | uint8_t | 图像缩放模式,对应 UIImageView::ImageResizeMode 枚举值 | 0(NONE)/1(CONTAIN)/2(CENTER_CROP) |
Hide
void Hide()
功能说明
- 核心用途:隐藏当前显示的图像并释放相关资源
- 设计目的:卸载已加载的图像资源,从父视图中移除 UIImageView 控件并释放其内存
- 使用场景:DFX 调试图像不再需要显示时调用,确保资源正确释放
- 资源管理:根据资源加载方式(资源 ID 或文件路径)调用对应的卸载接口,并 delete UIImageView 对象
- 对象生命周期:调用后 imageView_ 被置为 nullptr,后续调用 Show 将重新创建控件