mishe / blog

前端碰上的问题或体会
230 stars 39 forks source link

前端加载性能优化方案 (转自个人百度空间) #28

Open mishe opened 8 years ago

mishe commented 8 years ago

1.服务器端访问优化

Gzip压缩项目文件大小 CDN加速,加快资源的访问速度 分布式静态服务器请求静态文件,设置浏览器缓存

2.HTTPS请求优化

保证请求资源尽量小 减少文件数量,减少文件请求

3.浏览器端渲染优化

1) DOM加载优化

避免使用iframe,阻塞父级页面onload 精简DOM结构

2)图片加载优化

初始首屏之外的图片资源需延迟加载 图片使用CSS Sprites 或 DATA URL 尽量不使用图片,如果可以使用css3实现 显示设置图片宽高,避免页面repaint 图片压缩,尽量使用JPGE,PNG8,如果图片超过50k,考虑叫设计进行优化 针对不同的设备,用media query调用不同size的图片 根据不同的网络状况,调用不同size的图片

3)css加载优化

合并css文件 使用高性能css选择器 使用css3代理js动画处理,使用translate3d开启GPU动画加速 禁止使用@import引入css文件 避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度

4)js加载优化

合并压缩js文件 单页面应用(SPA)考虑延迟加载非首屏业务模块 不可见Tab页延迟加载 避免使用大型类库 基础类库推荐使用zepto 尽可能使用事件代理,避免批量绑定事件 编写高性能javascript

5)浏览器端数据缓存

使用localStorage进行数据缓存

二,响应性能优化方案

1.避免使用click事件,避免 iOS 300+ms 点击延时问题 2.避免触发页面重绘restyle,repaint,relayout的操作,注意DOM元素的循环操作 3.小心连续触发的事件scroll/resize/touchmove,避免高频繁触发执行

三,性能检测方案

使用阿里测,YSlow做性能检测