目录

应用内点击邀请好友生成分享图慢

问题现象

应用内点击分享等功能,生成分享图片慢,需要等待较长时间。

背景知识

问题定位

  1. 使用Profiler的Frame模板抓取该过程的Trace信息。

    • 以应用收到手指离开屏幕事件的Trace关键字DispatchTouchEvent xxx type=1作为问题分析的起点,时间点为4.864s。

    • 找到创建Stack组件的Trace关键字H:Create[Stack],时间点为7.959s,此时距离应用收到手指离开屏幕事件过去3.095s。

    • 观察应用包名泳道Trace,在生成分享图后会生成一个页面切换的Trace点:H:ABILITY_OR_PAGE_SWITCH,标志已生成分享图,可以将此时间点7.973s作为问题分析的终点,此时距离创建Stack组件过去14ms,几乎不会影响分享图生成总时间。

  2. 依据以上分析,问题分析重点范围为应用收到手指离开屏幕事件到创建Stack组件。可以看到过程中应用调用C库的GetImageInfo方法后处理获取的图像信息耗时接近1s,导致生成分享图片慢。

分析结论

应用处理获取的图像信息耗时过久导致生成分享图片慢。

修改建议

  1. 优化获取到的图像信息处理逻辑,降低图像信息处理耗时。
  2. 增加“图片生成中”等友好提示。