作为一名前端工程师,网页首屏性能优化是一个绕不开的话题。最近这段时间我做了一些首屏性能优化的项目,这里做一个小小的总结。
网页是运行在浏览器端的,优化网页性能无法脱离浏览器。以是首先需要搞清楚浏览器加载一个网页的历程。最经典、常见的一个问题就是:从输入Url到网页出现在用户眼前,到底发生了什么。这内里最主要的两个点: *** 请求历程以及浏览器的事情原理(主要是渲染原理)。搞清楚这两个点,我们才有了优化的理论基础。
接下来是项目实行的历程:
明确首屏指标 -> 优化前首屏指标丈量与剖析 -> 优化 -> 优化后首屏指标丈量与剖析 -> 优化收益总结
每一个历程都有必须完成的事情,并不是想到那里就优化那里,而是需要完整、严谨的数据支持。
前端首屏性能优化的知识点许多,很杂。我分成了两个大的偏向:资源加载优化 和 页面渲染优化。
资源加载的优化,我分成了5个部门:减小资源巨细,削减Http请求次数,提高Http响应速率,优化资源加载时机,优化加载方式。
每一个部门,都有许多的事情可以做。有的是需要从项目工程化上面解决,有的需要从 *** 基础设施上解决,有的是从代码层面解决。最终总结起来,资源加载优化主要是从巨细、数目、速率、时机这几个基本方面举行优化,每一项优化最终都是对这四个基本面中一个或多个方面的优化。
页面渲染优化前,首先需要搞清楚浏览器的渲染原理,然后主要是在代码层面举行优化。我分了3个部门:优化html代码,优化js和css代码,优化动画效果。
浏览器渲染,照样谁人经典的像素管道:
优化html主要是对页面整体结构的优化,最终的目的尽可能快的天生DOM树,CSSOM,触发渲染,不要发生壅闭的情形。就是将像素管道中的Style 和 Layout 尽可能提前。
优化js代码是为了减轻主线程的压力,防止主线程因长时间执行js代码,壅闭了页面渲染。即削减像素管道中的JavaScrtip的耗时。优化css代码是为了削减像素管道中Style的耗时。同时,还应该注重只管削减重排和重绘,防止像素管道被中止然后重新再次触发。
优化动画效果是为了尽可能跳过上述像素管道中的Layout 和 Paint 。
本文总结了系统地举行前端性能优化的整体思绪。详细到实行的历程,每一种优化方式都能搜到详细的文章,这里就不展开了。同时,还应该连系详细的营业场景有的放矢,最终真正的提高用户体验。相符预期。
本文首发于民众号:相符预期的CoyPan
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
如何悄悄接受丈夫微信信息(如何同歩接受丈夫手机微信) 你好,如果是手机微信,因为手机微信并未关联关系作用,现阶段仅具备关系号作用,将不容易被接受。因而,除非是您拿着他的手机上或登陆到他的手机微信账号...
当我们的手机内存快要爆掉,已经没有办法正常运行的时候,我们往往会选择手机恢复出厂设置,刷机等操作来清理存储空间;当更换手机时,为了旧手机中的数据安全,我们也会选择手机恢复出厂设置来保护个人隐私。 大家...
我认为在早上7-8点,中午12-1点,还有就是晚上的8-12点发朋友圈的阅读量最大。 首先,早上七八点的时候,人们刚醒,起来第一件事就是拿起手机刷朋友圈了,这个时候的阅读量可能会有很多。 其次,中午1...
近年来如何有效祛斑?,脸上有斑的人越来越多,如何祛斑最有效的偏方,面对斑点,很多朋友用尽了方法,但却无济于事!脸上的斑究竟怎样去除?因此怎样祛斑,就成了大家讨论的热点话题! 怎么样不...
支付宝蚂蚁庄园小课堂8月27日问题:100g大白菜和柠檬相比维C含量更高的是?小鸡宝宝考考你,答对就可以获得180g小鸡饲料!喂养小鸡之后可以进行爱心捐赠呦!下面就一起来看看蚂蚁庄园今日答案吧。...
近日,南京公交车上,一女乘客不断辱骂抽打驾驶员周师傅。周师傅立即靠边停车报警。女乘客又抱起灭火器被周师傅抢回。据了解,女乘客30多岁,患有精神疾病,其家属已向周师傅道歉并陪同就医。公交集团决定给周师傅...