b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

谈谈移动端页面性能优化方案

电脑杂谈  发布时间:2019-05-02 07:13:35  来源:网络整理

前端vanish缓存方案_前端项目优化方案_前端优化知识

众所周知,在互联网行业里,移动端占有的比例越来越高了,尤其实在电商领域,用户购物大部分在移动端。比如淘宝双11,在移动端支付的接近7成。这就要求我们产品质量越来越高,那对于我们前端工程师来说也是一个挑战,如何让我们所开发的页面能有更好的体验,就是我们今天讨论的话题:移动端页面性能优化。

Html5的出现对于移动端影响挺大,HTML5框架可以提升网站的访问速度,通过优化前端将响应时间加快,使用户的等待时间减少,所谓前端是指在客户端通过浏览器发送了一个请求,除去后台系统用户请求、执行数据查询并对结果进行组织所需要处理消耗的时间,在涌现的新技术中,JavaScript和一套新的API纯脚本技术,是HTML5核心,需要通过JavaScript有许多方法可以用来检测HTML5的支持能力。

对于访问量大的网站来说,前端的优化是必须的,即使是优化1KB的大小对其影响也很大,下面马海祥就带大家来看看移动手机平台的HTML5前端优化,或许对你有帮助和启发。

如何优化HTML5在移动设置上的性能表现,首先我们需要明确以下几个原则:

1、PC优化手段在Mobile侧同样适用。

2、在Mobile侧我们提出三秒种渲染完成首屏指标。

3、基于第二点,首屏加载3秒完成或使用Loading。

4、基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB。

5、Mobile侧因手机配置原因,除加载外渲染速度也是优化重点。

6、基于第五点,要合理处理代码减少渲染损耗。

7、基于第二、第五点,所有影响首屏加载和渲染的代码应在处理逻辑中后置。

8、加载完成后用户交互使用时也需注意性能。

我们可以先看下面的一张图片:

也可以手动进入光盘目录找到bootcamp目录,所有硬件基本就能正常工作了,基本可以兼容当下主流苹果电脑型号这种问题比较普遍,基本不需要人工干预,自带驱动自动更新功能可以准确迅速的找到系统当前缺失的硬件驱动,上面除包含完整的苹果系统外,这里面就包括你的键盘驱动,还包括针对苹果电脑安装windows系统的一个官方解决方案——bootcamp。沪深300指数由市值规模大、流动性强和良好基本面的300家上市公司作为样本股,上证国债指数涵盖所有在上海证券交易所上市的国债,具有良好的市场代表性,适合作为本基金的业绩比较基准。lamport提出这个问题之后,有无数的算法被提出来,统称bft(拜占庭容错)算法,其中最有代表性的叫pbft,然后由于最近区块链的热度,无数针对区块链应用场景优化过的bft算法也涌现出来,但是一个重要的问题是,所有目前的bft算法,都只能应用在小型网络里。

因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个,马海祥建议的优化要点为以下2点:

前端优化知识_前端项目优化方案_前端vanish缓存方案

1、合并CSS、JavaScript

2、合并小图片,使用雪碧图

使用缓存可以减少向服务器的请求数,节省加载时间,所以所有静态资源都要在服务器端设置缓存,并且尽量使用长Cache(长Cache资源的更新可使用时间戳)。

1、缓存一切可缓存的资源

2、使用长Cache(使用时间戳更新Cache)

3、使用外联式引用CSS、JavaScript

将不影响首屏的资源和当前屏幕资源不用的资源放到用户需要时才加载,可以大大提升重要资源的显示速度和降低总体流量。

1、LazyLoad

2、滚屏加载

3、通过Media Query加载

另外,马海祥提醒大家一点:按需加载会导致大量重绘,影响渲染性能。

大型重资源页面(如游戏)可使用增加Loading的方法,资源加载完成后再显示页面,但Loading时间过长,会造成用户流失。

1、可感知Loading(如进入空间游戏的Loading)

图片是最占流量的资源,因此尽量避免使用他,使用时选择最合适的格式(实现需求的前提下,以大小判断),合适的大小,然后使用智图压缩,同时在代码中用Srcset来按需显示。

1、使用智图

2、使用其它方式代替图片(使用CSS3;使用SVG;使用IconFont)

前端优化知识_前端项目优化方案_前端vanish缓存方案

3、使用Srcset

4、选择合适的图片(webP优于JPG;PNG8优于GIF)

5、选择合适的大小(首次加载不大于1014KB;基于手机屏幕一般宽度不宽于640)

另外,马海祥提醒大家一点:过度压缩图片大小影响图片显示效果。

脚本处理不当会阻塞页面加载、渲染,因此在使用时需要注意以下几点:

1、CSS写在头部,JavaScript写在尾部或异步。

2、避免图片和iFrame等的空Src,空Src会重新加载当前页面,影响速度和效率。前端项目优化方案

3、尽量避免重设图片大小,重设图片大小是指在页面、CSS、JavaScript等中多次重置图片大小,多次重设图片大小会引发图片的多次重绘,影响性能。

4、图片尽量避免使用DataURL,DataURL图片没有使用图片的压缩算法文件会变大,并且要解码后再渲染,加载慢耗时长。

1、尽量避免写在HTML标签中写Style属性。

2、避免CSS表达式,CSS表达式的执行需跳出CSS树的渲染,因此请避免CSS表达式。

4. 查找重建所有已读取的makefile文件的规则(如果存在一个目标是当前读取的某一个makefile文件,则执行此规则重建此makefile文件,完成以后从第一步开始重新执行)。diskboss 是一种自动的,以规则为基础的文件和磁盘管理解决方案,允许执行磁盘空间利用率分析,文件分类,检测和删除重复的文件,高速文件同步和数据迁移,磁盘变化监测,以规则为基础的档案组织,数据擦除和更多 。因为每次调用ui mixin会生成额外的css规则,无偿调用ui mixin会产生过大的css文件。

4、正确使用Display的属性,Display属性会影响页面的渲染,因此马海祥建议各位站长要合理使用。

(1)、display:inline后不应该再使用width、height、margin、padding以及float

(2)、display:inline-block后不应该再使用float

(3)、display:block后不应该再使用vertical-align

前端项目优化方案_前端vanish缓存方案_前端优化知识

(4)、display:table-*后不应该再使用margin或者float

5、不滥用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、避免让选择符看起来像正则表达式。

高级选择器执行耗时长且不易读懂,避免使用。

1、减少重绘和回流

(1)、避免不必要的Dom操作

(2)、尽量改变Class而不是Style,使用classList代替className

(3)、避免使用document.write

(4)、减少drawImage

前端优化知识_前端vanish缓存方案_前端项目优化方案

2、缓存Dom选择与计算,每次Dom选择都要计算,缓存他。

3、缓存列表.length,每次.length都要计算,用一个变量保存这个值。

4、尽量使用事件代理,避免批量绑定事件。

5、尽量使用ID选择器,ID选择器是最快的。

开发者大多数会使用封装的 tap 事件来代替click 事件,所谓的 tap 事件由 touchstart 事件 + touchmove 判断 + touchend 事件封装组成。解决方法:使用touch事件来代替click事件,如 zepto.js 的tap事件和fastclick,还有我自己也写了个移动端手势操作库mtouch,都有相应的事件可以代替click事件解决这个问题。如果不使用click,也不能简单的用touchstart或touchend替代,需要用touchstart的模拟一个click事件,并且不能发生touchmove事件,或者用zepto中的tap(轻击)事件。

HTML文档是以包含文档编码信息的数据流方式在网络间传输,页面的编码信息一般会在HTTP响应的头部信息或在文档内的HTML标记中指明,客户端浏览器只有在确定了页面编码后才能正确的渲染页面,所以在绘制页面或执行任何的javascript代码前,大部分的浏览器(ie6、ie7、ie8除外)都会缓冲一定字节的数据来从中查找编码信息,不同的浏览器当中预缓冲的字节数是不一样的。

(1)、尽量使用CSS3。

(2)、合理使用requestAnimationFrame代替setTimeout。

(3)、适当使用Canvas5个元素以内使用css,5个以上使用Canvas(iOS8可使用webGL)。前端项目优化方案

Touchmove、Scroll事件可导致多次渲染。

(1)、使用requestanimationframe帧变化,使得在正确的时间进行渲染。1.使用requestanimationframe帧变化,使得在正确的时间进行渲染。面部精油的正确使用会使面部的皮肤有一些好的变化,远离以前经常出现的痘痘、黑眼圈等小的问题,上面的方法不是很复杂,在以后使用面部精油的时候,加上上述的按摩方法,会加速精油的吸收,使得效果更加显著。

(2)、增加响应变化的时间间隔,减少重绘次数。

CSS中以下属性(CSS3 transitions、CSS3 3D transforms、Opacity、Canvas、WebGL、Video)来触发GPU渲染,请合理使用。

另外,过渡使用会引发手机过耗电增加。

HTML5只是一种方法和手段,并不是万能的,思考怎么符合移动端设备特别是没错,但前提务必要基于PC站框架结构和内容,保证内容的一致性是解决HTML5痛点的唯一办法,这个时候大家再去理解“凡是适合在移动端展现的网站”就不是站在高点去理解了,就应该站在最低点,怎么展示符合移动界面,同时满足一部分移动用户的使用体验和需求。

一款好的产品不是只看表面,“内在的东西”也非常重要,内外兼优的产品才是最好的,你说呢?


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-95633-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 赵希囿
        赵希囿

        向市场进军

      • 刘爽
        刘爽

        在不经我大中国同意的情况下派军舰前来

      • 易戍庚
        易戍庚

        不打也要向美释放信号

      每日福利
      热点图片
      拼命载入中...