应用开发过程中,会通过在App中嵌入WebView以提高开发效率,可能面临ArkWeb加载和丢帧等问题。DevEco Profiler提供ArkWeb分析模板,可以结合ArkWeb执行流程的关键trace点来定位问题发生的阶段。如果问题发生在渲染阶段,可以结合H:RosenWeb数据,线程运行状态以及帧渲染流程打点数据,进一步分析丢帧问题。
ArkWeb模板支持的泳道包括:ArkWeb、User Events、ArkTS Callstack、Callstack、CPU Core、Process。本文介绍ArkWeb泳道,其他泳道的详细信息请参考对应模板内容。
根据Web页面加载过程中的关键trace点,划分了五个阶段,分别是:点击事件(Click Event), 组件初始化(Component Initialization),主资源下载(Primary Resource Download),子资源下载(Sub-resource Download),渲染输出(Render And Output)。
框选ArkWeb泳道,可以查看耗时阶段划分的关键trace点,并可以根据trace信息,关联到所在线程信息。
Details区域可以跳转关键trace所在泳道,进一步分析加载问题。


H:RosenWeb上标识有待提交给渲染服务的数据量。正常情况下,每个数据量都会提交给硬件进行上屏,即PresentFence泳道上的H:Waiting for PresentFence trace点。如果某个数据量在PresentFence泳道上没有该trace点,那么很可能是存在丢帧问题。

包括统一资源定位符、缓存类型、是否为本地资源替换、请求资源时间(ns)、队列时间(ns)、停滞时间(ms)、dns解析时间(ms)、连接耗时(ms)、ssl连接时间(ms)、服务器响应耗时(ms)、下载耗时(ms)、传输时间(ms)、请求方法、状态码、编码前资源大小、编码后资源大小以及HTTP版本。

