openharmony 鸿蒙 hiappevent-watcher-web-fling-jank-events

2026-08-25 浏览 (1)

ArkWeb抛滑丢帧事件介绍

简介

ArkWeb提供了Web组件,用于在应用程序中显示Web页面内容,为开发者提供了丰富的控制Web页面能力。页面滑动一般分为两个阶段:拖滑和抛滑。拖滑指触摸屏幕时的滑动。抛滑指在手指离开屏幕后,页面仍以一定速度滑动。从API version 23开始,支持订阅ArkWeb抛滑丢帧事件,用户在使用应用时滑动web页面,如果出现抛滑丢帧且卡顿持续时间超过50ms及以上,就会被定义为ArkWeb抛滑丢帧,并生成相关丢帧数据。

本文面向开发者介绍ArkWeb抛滑丢帧事件检测原理,以及各字段的含义和规格。如需了解如何使用HiAppEvent接口订阅ArkWeb抛滑丢帧事件,请参考以下文档。

说明

ArkWeb抛滑丢帧事件仅提供发生卡顿的Web组件对应的web_id,最长丢帧时长及其他相关数据,不提供卡顿日志等信息。开发者可以借助web_id,参考“订阅ArkWeb抛滑丢帧事件(ArkTS)”文件中的示例代码获取到发生丢帧的网页地址,再结合业界成熟的DevTools工具复现并排查根因。

从API version 23开始,ArkWeb抛滑丢帧事件支持在应用分身、原子化服务及输入法应用场景下使用 HiAppEvent 进行订阅。

检测原理

ArkWeb在渲染绘制完成之后会生成buffer,并将生成的buffer送至图形缓冲区,图形侧取出buffer进行送显。在抛滑阶段,通过检测ArkWeb前后两次与图形侧交换buffer的时间差判断是否超时异常,来判断ArkWeb侧是否发生了丢帧。

params字段说明

ArkWeb抛滑丢帧事件信息中params属性的详细描述如下:

名称类型说明
start_timenumber抛滑动效开始时间,为一个时间戳。
durationnumber抛滑动效持续时长,单位为ms。
web_idnumber发生丢帧组件对应的web_id。
max_app_frame_timenumber抛滑期间最长连续丢帧时长,单位为ms。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 hiappevent-watcher-app-killed-events

openharmony 鸿蒙 hiappevent-intro

openharmony 鸿蒙 hicollie-guidelines-ndk

openharmony 鸿蒙 event-subscription-overview

openharmony 鸿蒙 hiappevent-watcher-mainthreadjank-events-arkts

openharmony 鸿蒙 hiappevent-watcher-resourceleak-events-ndk

openharmony 鸿蒙 hilog-guidelines-arkts

openharmony 鸿蒙 hiappevent-watcher-apphicollie-events-ndk

openharmony 鸿蒙 hitracechain-guidelines-arkts

openharmony 鸿蒙 hiappevent-watcher-freeze-events

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/J94UknMp