「无侵入页面加载完成检测」的一些思路

limboy's HQ at 
「无侵入页面加载完成检测」的一些思路的配图
前言在诸多的性能指标里,「页面加载完成耗时」是非常重要的一项,尤其是重点页面,如详情页,1 秒内打开和 3 秒内打开差别是很大的,直接影响 GMV。再来说一下「页面加载完成」的定义,不是页面 layout 完成,不是请求完成,而是图片和文字都已被渲染完成。比较常见的做法是在页面的 ViewDidAppear 和请求完成且数据被转换成 Model 之后分别打点,前者表示页面出现的时间,后者表示数据获取的时间,基本可以体现出页面加载时间。但也有一些问题比如:业务经常调整,所以埋点也需要调整,这个过程中很容易出现错埋、漏埋的问题。有些页面会有多个请求,只有这些请求全部完成后,页面才能渲染,这时数据请……