目录

下拉页面列表刷新卡顿,延迟一段时间后突然回跳

问题现象

下拉页面刷新列表时存在卡顿问题,延迟一段时间后列表突然回跳,不流畅。

背景知识

问题定位

  1. 使用DevEco Profiler Frame分析工具抓取该过程的Trace信息,通过Trace关键字H:touchEventDispatch和H:APP_LIST_FLING找到下拉列表后手指离开屏幕的时间点,通过Trace关键字H:APP_SWIPER_FLING找到列表开始上移的时间点,从下图中可看到两者时间间隔2.9s,同时可看到在该过程应用接收Vsync信号处理时耗时较长,导致长时间未渲染绘制,因此出现卡顿延迟的现象。

  2. 查看应用接收Vsync信号处理部分的Trace信息,发现应用主线程有下载多张网络图片,总耗时达到2.5s左右,推测应用采用了同步加载方式,导致界面刷新时耗时较长。

  3. 使用ArkUI Inspector抓取页面组件树,查看Image组件的syncLoad参数值为true,确认是同步加载方式。

分析结论

下拉页面列表刷新时,由于页面图片采用同步加载方式,在主线程执行网络图片下载操作,导致页面刷新耗时较长,进而引起卡顿、延迟一段时间后上移的现象。

修改建议

Image组件取消使用同步加载方式加载图片。