性能优化篇

性能优化在浏览器端 总结19条:

规则一:把css放在head标签中加载

能让页面更早的开始渲染,避免把css放在页面尾部出现的闪屏

最好能包含关键渲染路径的样式:首屏

规则二:把js放在body末尾加载

因为js会阻塞html解析和css渲染

规则三:不要css表达式

看似强大,实际性能开销很大,可能导致页面卡顿

规则四:使用外链方式引用css和js

有效减少html的体积

可合理利用浏览器缓存

规则五:压缩js和css

生产环境删除不必要的注释、空白

js中变量名压缩,混淆压缩,css属性合并,选择符的合并等

规则六:不要重复加载js

在ie中还是会多个请求,不能发挥缓存优势

意味着更长的js执行时间

规则七:让ajax请求可缓存

GZIP、内容压缩都可使用

规则八:用get方式发起ajax请求

get方式可以缓存

如果是获取信息,get更语义化

如果是提交信息,post更语义化,post方式是不会被缓存的

规则9:组件延迟加载(重点)——延迟加载和按需加载

保障关键页面资源优先加载:因为并发数限制

延迟加载的典型手段:lazyload

规则10:减少dom节点数

天猫:更多节点数以为浏览器布局、渲染时计算量更大

规则11:避免使用iframe

会阻塞父文档的onload

即使是空白也比较耗时

规则12:减少cookie体积

因为cookie每次请求都会全部带上

规则13:使用无cookie域名加载静态资源

在服务器端做了讲解

规则14:减少js的dom访问

对于查找的元素,可以缓存在变量中

节点增加是合理利用documentFragment

不要用js去频繁修改样式

规则15:使用更智能的事件监听机制

基于事件冒泡的委托机制,有效减少绑定的数量

规则16:常见的图片优化手段

相比代码,图片体积很大

PNGCrush、JPEGTRAN PNGQUANT

渐进式编码:JPG

规则17:不要在html里面缩放图片

徒增渲染开销,提供适当尺寸即可

规则18:不要把图片scr置空

ie、chrome、firefox会发起额外的主文档请求

规则19:任何资源尽量保持的25k以内

iphone、部分浏览器无法缓存25k以上的资源

时间: 2024-08-11 05:31:13

性能优化篇的相关文章

【朝花夕拾】Android性能优化篇之(一)序言及JVM篇

序言        笔者从事Anroid开发有些年头了,深知掌握Anroid性能优化方面的知识的必要性,这是一个程序员必须修炼的内功.在面试中,它是面试官的挚爱,在工作中,它是代码质量的拦路虎,其重要性可见一斑.在团队中,性能优化的工作又往往由经验丰富的老师傅来完成,可见要做好性能优化,绝不是一件容易的事情. 性能优化方面涉及的知识点比较广,有理论基础知识,也有实际操作技能,笔者将通过一系列的文章来进行整理,将主要包括Java虚拟机.内存分配.垃圾回收,android虚拟机.进程管理.内存优化.

【朝花夕拾】Android性能优化篇之(五)Android虚拟机简介

前言 Android虚拟机的使用,使得android应用和Linux内核分离,这样做使得android系统更稳定可靠,比如程序中即使包含恶意代码,也不会直接影响系统文件:也提高了跨平台兼容性.在Android4.4以前的系统中,Android系统均采用Dalvik作为运行andorid程序的虚拟机,在android发展中具有举足轻重的地位,而Android 5.0及以后的系统使用ART虚拟机取代Dalvik,在性能上做了很大的优化.本文将对这两款虚拟机做一些介绍,主要内容如下: 一.什么是Dal

CSS 性能优化篇

 CSS 性能优化总结篇 1.命名与备注规范化 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体佈局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:fr

【朝花夕拾】Android性能优化篇之(四)Apk打包

前言 APK,即Android Package,是将android程序和资源整合在一起,形成的一个.apk文件.相信所有的Android程序员是在IDE的帮助下,完成打包轻而易举,但对打包流程真正清楚的可能并不多.本章的内容比较简单,也是非常基础的内容,但是对理解android应用的结构却有很大的帮助.笔者写这篇文章的目的,一方面是为了弥补这方面的盲点,回顾和梳理apk打包方面的理论知识点:第二方面,是为了给后续写Android虚拟机知识做铺垫,进而去研究android的性能优化,这也是把这篇文

Android性能优化篇

很多App都会遇到以下几个常见的性能问题: 启动速度慢:界面跳转慢:事件响应慢:滑动和动画卡顿. 一.启动速度优化. 优化初始化任务: 1. 把一些初始化任务懒加载初始化 2. 把初始化任务并行化(异步化) 3. 使初始化任务可以插拔(一个任务出问题不会影响到其他的任务) 其他: 1. 控制线程数量,注意线程的使用,用自己的线程池替换三方或者二方SDK的线程池,线程太多占用cpu资源, 2. 使用缓存来减少I/O操作(读数据库,读文件,SharedPreference)减少网络请求(判断无网络直

js 性能优化 篇一

JS性能优化 摘自:http://www.china125.com/design/js/3631.htm 首先,由于JS是一种解释型语言,执行速度要比编译型语言慢得多.(注:,Chrome是第一款内置优化引擎,将JS编译成本地代码的浏览器,其它浏览器也陆续实现了JS的编译过程.但是,即使到了编译执行JS的新阶段,仍然会存在低效率的代码.)以下总结一些可以改进代码的整体性能的方法. 1.注意作用域 记住一点,随着作用域中的作用域数量的增加,访问当前作用域以外的变量的时间也在增加.所以,访问全局变量

电商网站HTTPS实践之路(三)——性能优化篇

通过分析TLS握手过程的细节我们会发现HTTPS比HTTP会增加多个RTT网络传输时间,既增加了服务端开销,又拖慢了客户端响应时间.因此,性能优化是必不可少的工作.很多文章都集中在服务端的性能优化上,但对于电商行业而言,大部分的用户流量源于App,因此客户端的性能优化配合服务端才能使收益最大化. 1. HTTPS带来的负担 凡事都有两面性. 1.1 增加的传输延时 使用HTTPS传输增加的开销不仅仅是两次TLS握手的过程.优化性能首先要知己知彼.了解性能损耗在哪里,才能有针对性的进行部署. 对于

MySQL · 8.0版本更新 · 性能优化篇

摘要: 本文主要总结下MySQL在8.0版本和性能相关的一些改动,随着新的小版本的发布,本文将不断进行更新,直到正式GA. 已更新版本MySQL 8.0.0MySQL 8.0.0 WL#9387: InnoDB: Group purging of rows by table ID 这个问题最早是faceb... 本文主要总结下MySQL在8.0版本和性能相关的一些改动,随着新的小版本的发布,本文将不断进行更新,直到正式GA. MySQL 8.0.0 WL#9387: InnoDB: Group

前端性能优化篇—资源合并与压缩减少HTTP请求

资源合并与压缩减少HTTP请求的概要 资源合并与压缩减少HTTP请求主要的两个优化点是减少HTTP请求的数量和减少请求资源的大小 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信链路.进行数据传输,而在服务器端,每个http都需要启动独立的线程去处理. 这些通信和服务的开销都很昂贵,减少http请求的数量和减少请求资源的大小可有效提高访问性能 减少http的主要手段是合并CSS.合并JavaScript.合并图片.将浏览器一次访问需要的javascript和CSS合并成一个