干货移动端H5端前性能优化.docxVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[导读] 得益于智能手机的普及和各行各业互联网+的运动,移动端的市场占比疯狂增长。 2016年1月艾瑞咨询发布的2015年电商数据显示,2015年中国移动端网购交易额同比暴涨123 2%,在网购总交易额中的占比首次超越PC端达到55%。技术上,HTML5大行其道:1:有数据显示,截至2015,有80%的App全部或部分基于HTML5。2:谷歌浏览器于9月1日起不在支持自动播放Flash。3:亚马逊旗下网站(包括A门户在内)的所有广告将不再使用flash。在可预见的未来,flash广告将被HTML5广告所取代。移动端+HTML5,这个组合对前端工程师来说是个不小的挑战:如何让开发的页面能有更好的体验?这就是我们今天讨论的话题:移动端HTML5页面前端性能优化。如何优化HTML5在移动设置上的性能表现,首先需要明确以下几个原则:1、PC优化手段在Mobile端同样适用。2、在Mobile侧我们提出三秒种渲染完成首屏指标。3、基于第二点,首屏加载3秒完成或使用Loading。4、基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB。5、Mobile端因手机配置原因,除加载外渲染速度也是优化重点。6、基于第五点,要合理处理代码减少渲染损耗。7、基于第二、第五点,所有影响首屏加载和渲染的代码应在处理逻辑中后置。8、加载完成后用户交互使用时也需注意性能。?接下来先看一张小抄神图:?之所以说是神图,是因为它基本上涵盖了所有的优化方案!非常详尽!在这里,我们针对其中几个代表性方案进行探讨:加载优化对于移动端的网页来说,加载过程是最为耗时的过程,可能会占到总耗时的80%时间,因此是优化的重点,当然,手机站的其他前端要素优化也是不能忽略的。1、减少HTTP请求因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个,建议优化要点为以下2点:1、合并CSS、Java2、合并小图片,使用雪碧图2、缓存使用缓存可以减少向服务器的请求数,节省加载时间,所以所有静态资源都要在服务器端设置缓存,并且尽量使用长Cache(长Cache资源的更新可使用时间戳)。1、缓存一切可缓存的资源2、使用长Cache(使用时间戳更新Cache)3、使用外联式引用CSS、Java3、压缩HTML、CSS、Java减少资源大小可以加快网页显示速度,所以要对HTML、CSS、Java等进行代码压缩,并在服务器端设置GZip。1、压缩(例如,多余的空格、换行符和缩进)2、启用GZip4、无阻塞写在HTML头部的Java(无异步),和写在HTML标签中的Style会阻塞页面的渲染,因此CSS放在页面头部并使用Link方式引入,避免在HTML标签中写Style,Java放在页面尾部或使用异步方式加载5、使用首屏加载首屏的快速显示,可以大大提升用户对页面速度的感知,因此应尽量针对首屏的快速显示做优化。6、按需加载将不影响首屏的资源和当前屏幕资源不用的资源放到用户需要时才加载,可以大大提升重要资源的显示速度和降低总体流量。1、LazyLoad2、滚屏加载3、通过Media Query加载另外,提醒大家一点:按需加载会导致大量重绘,影响渲染性能。7、预加载大型重资源页面(如游戏)可使用增加Loading的方法,资源加载完成后再显示页面,但Loading时间过长,会造成用户流失。1、可感知Loading(如进入空间游戏的Loading)2、不可感知的Loading(如提前加载下一页)3、对用户行为分析,可以在当前页加载下一页资源,提升速度。8、压缩图片图片是最占流量的资源,因此尽量避免使用他,使用时选择最合适的格式(实现需求的前提下,以大小判断),合适的大小,然后使用智图压缩,同时在代码中用Srcset来按需显示。1、使用智图2、使用其它方式代替图片(使用CSS3;使用SVG;使用IconFont)3、使用Srcset4、选择合适的图片(webP优于JPG;PNG8优于GIF)5、选择合适的大小(首次加载不大于1014KB;基于手机屏幕一般宽度不宽于640)提醒大家一点:过度压缩图片大小影响图片显示效果。9、减少Cookie,避免重定向以及异步加载第三方资源Cookie会影响加载速度,所以静态资源域名不使用Cookie。另外,重定向会影响加载速度,所以在服务器正确设置避免重定向。还有,第三方资源不可控会影响页面的加载和显示,因此要异步加载第三方资源。?脚本执行优化脚本处理不当会阻塞页面加载、渲染,因此在使用时需要注意以下几点:1、CSS写在头部,Java写在尾部或异步。2、避免图片和iFrame等的空Src,空Src会重新加载当前页面,影响速度和效率。3、尽量避免重设图

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档