最近接手了一个Web应用程序,初步看来问题颇多。刚打开便出现一个很明显的问题,就是每个页面之间在进行跳转的时候加载十分缓慢,少的两三秒,多的十几秒,这还是在网络环境非常好的情况下,其他的也就不说了,光页面加载这个问题已经足够令人感到难以接受。
经过向开发询问,说是APP每次页面跳转都需要从服务器加载一次资源,作为一只菜鸟,虽然觉得这种做法并不合理,但是也无法拿出合理的依据进行反驳,况且开发本身也不愿多说,因此,记录下这个问题,日后好来翻阅。
言归正传,之所以留意到页面加载的具体时间,要归功于不知道哪里看到的有人曾经提过瀑布这么一个东西,便利用了起来查了一些资料如下(引用了这篇文章的内容):
浏览器根据HTML中外连资源出现的顺序,依次放入队列(队列),然后根据优先级确定向服务器获取资源的顺序。同优先级的资源根据HTML中出现的先后顺序来向服务器获取资源。
显然,瀑中有好几种颜色:浅灰,深灰,橙色,绿色,蓝色结合上面的解释,大概知道这些颜色代表的含义了:
浅灰:查询中深灰:停滞,代理转发,请求发送橙色:初始连接绿色:等待中蓝色:内容下载除了这些横向的柱状图外,还有一条纵向的紫色的线
紫线是开始通过脚本加载资源的一个临界线,紫线之前,都是通过HTML文件进行加载的资源,要么是链接的SRC,要么是脚本的SRC;而紫线之后,就成了通过执行HTML文件加载进来的js script,进行加载资源的操作。这条线对于前端工程师至关重要,能够帮助他们进行前端性能优化分析。
瀑布图提供了三个直观的东西来帮助我们进行前端性能优化
首先,减少所有资源的加载时间。亦即减小瀑布图产品的宽度。瀑布图越窄,网站的访问速度越快其次,减少请求数量也就是降低瀑布图的高度。瀑布图越矮越好最后,通过优化资源请求顺序来加快渲染时间。从图上看,就是将绿色的“开始渲染”线向左移。这条线向左移动的越远越好另外 此处还有一篇博客 可供参考 https://blog.csdn.net/csdn_girl/article/details/54911632