电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

10页
  • 卖家[上传人]:枫**
  • 文档编号:466563087
  • 上传时间:2023-04-10
  • 文档格式:DOCX
  • 文档大小:16.93KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、导读得益于智能手机的普及和各行各业互联网+的运动,移动端的市场占比疯狂增长。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端因手机

      2、配置原因,除加载外渲染速度也是优化重点。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、Ja

      3、va3、压缩 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、不可感知的Load

      4、ing (如提前加载下一页)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会重新加载

      5、当前页面,影响速度和效 率。3、尽量避免重设图片大小,重设图片大小是指在页面、CSS、Java等中多次重置 图片大小,多次重设图片大小会引发图片的多次重绘,影响性能。4、图片尽量避免使用DataURL,DataURL图片没有使用图片的压缩算法文件会变 大,并且要解码后再渲染,加载慢耗时长。CSS优化1、尽量避免写在HTML标签中写Style属性。2、避免CSS表达式,CSS表达式的执行需跳出CSS树的渲染,因此请避免CSS表 达式。3、移除空的CSS规则,空的CSS规则增加了 CSS文件的大小,且影响CSS树的 执行,所以需移除空的CSS规则。4、正确使用Display的属性,Display属性会影响页面的渲染,建议各位站长 要合理使用。(1)、display:inline 后不应该再使用 width、height、margin、padding 以及 float(2)、display:inline-block 后不应该再使用 float(3)、display:block 后不应该再使用 vertical-align(4)、display:table-*后不应该再使用 margin 或者

      6、 float5、不滥用Float,Float在渲染时计算量比较大,尽量减少使用。6、不滥用Web字体,Web字体需要下载,解析,重绘当前页面,尽量减少使用。7、不声明过多的Font-size,过多的Font-size引发CSS树的效率。8、值为0时不需要任何单位,为了浏览器的兼容性和性能,值为0时不要带单 位。9、标准化各种浏览器前缀(1)、无前缀应放在最后。(2)、CSS动画只用(-webkit-无前缀)两种即可。(3)、其它前缀为“-webkit- -moz- -ms-无前缀”四种(-o-Opera浏览器改 用blink内核,所以淘汰)。10、避免让选择符看起来像正则表达式。高级选择器执行耗时长且不易读懂,避免使用。Java执行优化1、减少重绘和回流(1)、避免不必要的Dom操作(2)、尽量改变Class而不是Style,使用classList代替className(3)、避免使用 document.write(4)、减少 drawImage2、缓存Dom选择与计算,每次Dom选择都要计算,缓存他。3、缓存列表.length,每次.length都要计算,用一个变量保存这个值。4、尽

      7、量使用事件代理,避免批量绑定事件。5、尽量使用ID选择器,ID选择器是最快的。6、TOUCH事件优化,使用touchstart touchend代替click,因快影响速度快, 但应注意Touch响应过快,易引发误操作。渲染优化HTML文档是以包含文档编码信息的数据流方式在网络间传输,页面的编码信息 一般会在HTTP响应的头部信息或在文档内的HTML标记中指明,客户端浏览器只 有在确定了页面编码后才能正确的渲染页面,所以在绘制页面或执行任何的 java代码前,大部分的浏览器(ie6、ie7、ie8除外)都会缓冲一定字节的数 据来从中查找编码信息,不同的浏览器当中预缓冲的字节数是不一样的。1、HTML 使用 ViewportViewport可以加速页面的渲染,请使用以下代码:2、减少Dom节点Dom节点太多影响页面的渲染,应尽量减少Dom节点。3、动画优化(1)、尽量使用CSS3动画。(2)、合理使用 requestAnimationFrame 动画代替 setTimeout。(3)、适当使用Canvas动画5个元素以内使用css动画,5个以上使用Canvas 动画(iOS8可使用webGL)。4、高频事件优化Touchmove、Scroll事件可导致多次渲染。(1) 、使用requestAnimationFrame监听帧变化,使得在正确的时间进行渲染。(2) 、增加响应变化的时间间隔,减少重绘次数。5、GPU加速CSS 中 以下属性(CSS3 transitions CSS3 3Dtransforms、Opacity、Canvas、 WebGL、Video)来触发GPU渲染,请合理使用。(PS:过渡使用会引发手机过耗 电增加。)

      《干货移动端H5前端性能优化》由会员枫**分享,可在线阅读,更多相关《干货移动端H5前端性能优化》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.