跳转至

dfx_img

dfx_img 模块提供图像诊断功能,用于调试时导出图像信息与像素数据。

Class Summary

OHOS::DfxImg

DfxImg 类用于 DFX 图像显示与隐藏控制,采用单例模式管理图像视图的生命周期。

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 将重新创建控件