studyNotes
studyNotes copied to clipboard
移动端性能分析
下面是在做网页的过程中考虑的一些问题,这些问题不能忽略,其中很经典的是雅虎13规。
- 发布前必要检查项
所有图片必须有进行过压缩 考虑适度的有损压缩,如转化为80%质量的jpg图片 考虑把大图切成多张小图,常见在banner图过大的场景
- 加载性能优化, 达到打开足够快
数据离线化,考虑将数据缓存在 localStorage 初始请求资源数 < 4 图片使用CSS Sprites 或 DataURI 外链 CSS 中避免 @import 引入 考虑内嵌小型的静态资源内容 初始请求资源gzip后总体积<50kb 静态资源(HTML/CSS/JS/Image)是否优化压缩? 避免打包大型类库 确保接入层已开启Gzip压缩(考虑提升Gzip级别,使用CPU开销换取加载时间) 尽量使用CSS3代替图片 初始首屏之外的静态资源(JS/CSS)延迟加载 初始首屏之外的图片资源按需加载(判断可视区域) 单页面应用(SPA)考虑延迟加载非首屏业务模块 开启Keep-Alive链路复用
- 运行性能优化, 达到操作足够流畅
避免 iOS 300+ms 点击延时问题 缓存 DOM 选择与计算 避免触发页面重绘的操作 Debounce连续触发的事件(scroll / resize / touchmove等),避免高频繁触发执行 尽可能使用事件代理,避免批量绑定事件 使用CSS3动画代替JS动画 避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度 HTML结构层级保持足够简单 尽能少的使用CSS高级选择器与通配选择器 Keep it simple