美文网首页
移动端开发前端优化方案

移动端开发前端优化方案

作者: 易则知 | 来源:发表于2018-07-18 15:45 被阅读11次

移动端开发主要是基于微信及手机浏览器的H5开发,其特点是设备屏幕较小、新特性兼容性较好、支持一些较新的 HTML5 和 CSS3 特性、需要与 Native 应用交互等。但移动端浏览器可用的 CPU 计算资源和网络资源极为有限,因此要做好移动端 Web 上的优化往往需要做更多的事情。

  • 1.首屏数据请求提前,避免 JavaScript 文件加载后才请求数据
    为了进一步提升页面加载速度,可以考虑将页面的数据请求尽可能提前,避免在 JavaScript 加载完成后才去请求数据。通常数据请求是页面内容渲染中关键路径最长的部分,而且不能并行,所以如果能将数据请求提前,可以极大程度上缩短页面内容的渲染完成时间。

  • 2.首屏加载和按需加载,非首屏内容滚屏加载,保证首屏内容最小化
    JavaScript 资源放到 HTML 文档底部可以防止 JavaScript 的加载和解析执行对页面渲染造成阻塞。由于 JavaScript 资源默认是解析阻塞的,除非被标记为异步或者通过其他的异步方式加载,否则会阻塞 HTML DOM 解析和 CSS 渲染的过程。

  • 3.模块化资源并行下载
    在加载大量的图片元素时,尽量预先限定图片的尺寸大小,否则在图片加载过程中会更新图片的排版信息,产生大量的重排

  • 4.inline 首屏必备的 CSS 和 JavaScript
    在 HTML 中直接缩放图片会导致页面内容的重排重绘,此时可能会使页面中的其他操作产生卡顿,因此要尽量减少在页面中直接进行图片缩放。

  • 5.meta dns prefetch 设置 DNS 预解析
    设置文件资源的 DNS 预解析,让浏览器提前解析获取静态资源的主机 IP,避免等到请求时才发起 DNS 解析请求。通常在移动端 HTML 中可以采用如下方式完成。

<!--cdn域名预解析-->
<meta http-equiv="x-dns-prefetch-control" content="on" >
<link rel="dns-prefetch" href="//cdn.domain.com" >
  • 6.资源预加载
    对于移动端首屏加载后可能会被使用的资源,需要在首屏完成加载后尽快进行加载,保证在用户需要浏览时已经加载完成,这时候如果再去异步请求就显得很慢。

  • 7.图片压缩处理
    在移动端,通常要保证页面中一切用到的图片都是经过压缩优化处理的,而不是以原图的形式直接使用的,因为那样很消耗流量,而且加载时间更长。

  • 8.使用较小的图片,合理使用 base64 内嵌图片
    在页面使用的背景图片不多且较小的情况下,可以将图片转化成 base64 编码嵌入到 HTML 页面或 CSS 文件中,这样可以减少页面的 HTTP 请求数。需要注意的是,要保证图片较小,一般图片大小超过 2KB 就不推荐使用 base64 嵌入显示了。

  • 9.使用更高压缩比格式的图片
    使用具有较高压缩比格式的图片,如 webp(需要设计降级兼容方案)等。在同等图片画质的情况下,高压缩比格式的图片体积更小,能够更快完成文件传输,节省网络流量。

  • 10.图片懒加载

<img data-src="//cdn.domain.com/path/photo.jpg" alt="懒加载图片" >
    1. 使用 MediaQuery 或 srcset 根据不同屏幕加载不同大小图片
    1. 使用 iconfont 代替图片图标
    1. 页面元素尽量使用事件代理,避免直接事件绑定
    1. 尽量使用 id, 合理缓存 DOM 对象
    1. 使用 touchstart 代替 click
    1. 避免使用 eval、with,使用 join 代替连接符+,推荐使用 ECMAScript6 的字符串模板
    1. 尽量使用 ECMAScript6+的特性来编程
    1. 使用 NativeView 代替 DOM 的性能劣势

相关文章

  • 移动端开发前端优化方案

    移动端开发主要是基于微信及手机浏览器的H5开发,其特点是设备屏幕较小、新特性兼容性较好、支持一些较新的 HTML5...

  • HTML基础

    新的征程 web前端介绍 web前端开发做什么 pc端web开发;移动端web开发;混合app开发;网页游戏/移动...

  • lib-flexible适配大屏方案(附移动端适配)

    前言   相信大多数移动端前端开发者都是用过lib-flexible来作为移动端适配的解决方案。lib-flexi...

  • Rhyke.js 使用例子

    移动端桌面端无法同时开启。移动端长按方案有问题。判断错误算法可优化。

  • 转载-浅谈React

    Part 1 | 移动端开发方案 目前移动端开发方案可谓百家齐鸣,以至于很难使用单一条件对所有移动端开发方案进行划...

  • 迅雷前端实习生招聘

    岗位介绍 1.负责迅雷(PC端/移动端)前端业务开发和优化 2.负责前端业务框架、工具链的不断完善 在这里,你可以...

  • 移动前端开发项目学习记录

    2_移动端前端开发注意事项 移动端开发一般使用HTML5 3.移动端前端基础架构单词释义:a)mkdir: ma...

  • 01-移动端开发教程-CSS3新特性(上)

    1. 移动端开发课程概述 移动互联网的兴起,让移动端的开发迅速蹿红。对于前端开发者来说,移动端的开发已经占据了他们...

  • AppHost1.0 发布

    AppHost:大前端融合下的 Hybrid 开发解决方案 目前移动端开发还处于一个高速发展的阶段,为了应对快速增...

  • 文集

    若web前端到达了瓶颈,如何冲出重围? 移动端汇总 腾讯移动web知识库移动前端开发指南移动端上遇到的各种坑移动端...

网友评论

      本文标题:移动端开发前端优化方案

      本文链接:https://www.haomeiwen.com/subject/ghuoeftx.html