web移动端性能调优及16ms优化
本文只是一个索引,收集了网络上大部分关于调试及优化方面的文章,从中挑选了一些比较好的文章分享给大家。
移动端性能不及桌面浏览器性能的10分之1,特别是在android设备良莠不齐的情况下,性能显得尤为重要。感觉做移动端页面,重回了解放前电脑还是386的年代,呵呵。
国内,16ms优化,60fps指标等相关的文章非常少,大部分还是翻译国外的一些优秀文章,非常感谢这些翻译者对web前端的贡献,让我等英文盲能及时了解前沿技术哈。
在进行毫秒级的优化时,了解浏览器的工作原理非常重要,这是晋级优秀程序员的关键。就像写win客户端软件的,总会去了解一下计算机组成原理、操作系统原理等。而我们做web页面的,了解浏览器工作原理也是一样的道理
浏览器的工作原理
页面渲染的GPU加速技术 – 基础:WebKit软件渲染模式
理解WebKit和Chromium: Chromium的GPU硬件加速
掌握调试方法
掌握调试方法比记住别人总结的结论更重要,所谓授人以鱼如授人以渔。根据实际业务发现其页面的瓶颈,才能制定对应的优化方案。
调试方法主要是使用chrome的开发者工具进行调试,学会如何使用timeline并结合Rendering选项里的内容发现性能瓶颈
【推荐】使用Chrome DevTools的Timeline和Profiles提高Web应用程序的性能
Profiling Mobile HTML5 Apps With Chrome DevTools
浏览器自带开发工具的秘密
里面有写到本地电脑如何连接手机,通过chrome查看网页。(安装ADB插件)
Explore and Master Chrome DevTools
几个简单的视频介绍 了解chrome devtools的相关知识
移动端性能优化
web性能优化,其实不分PC端、移动端,优化思路及手法都是相通的,只是目前PC端,性能问题并不明显,很多时候被忽视了。
这里主要强调的是渲染优化及滚动优化,是微观层面上的毫秒级优化。
【推荐】16毫秒的优化
16毫秒的优化Web前端性能优化的微观分析
requestAnimationFrame for Smart Animating
前端性能优化:高频执行事件/方法的防抖
在移动端可使用requestanimationframe做优化
Gone In 60 Frames Per Second: A Pinterest Paint Performance Case Study
Images Slowing Down Your Site? Try This One Weird Trick!
如果以上的文章链接打不开,那估计是别人博客down掉了,你可以尝试google一下文章标题,也许会找到别人转载的文章。
我接触移动端其实并不久,很多优化知识还仅仅停留在在理论层面,并未真正实施体验过。移动端的优化路上,还有很长的路要走。
最后,丢一个我和荔枝同学一起写的PPT
若无法查看可点击链接查看
web移动端性能调优及16ms优化的更多相关文章
- 记一次Web服务的性能调优
前言 一个项目在经历开发.测试.上线后,当时的用户规模还比较小,所以刚刚上线的项目一般会表现稳定.但是随着时间的推移,用户数量的增加,qps的增加等因素会造成项目慢慢表现出网页半天无响应的状况.在之前 ...
- Java性能优化,操作系统内核性能调优,JYM优化,Tomcat调优
文章目录 Java性能优化 尽量在合适的场合使用单例 尽量避免随意使用静态变量 尽量避免过多过常地创建Java对象 尽量使用final修饰符 尽量使用局部变量 尽量处理好包装类型和基本类型两者的使用场 ...
- spark性能调优:资源优化
在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置 ...
- 转【Zabbix性能调优:配置优化】
转载:https://sre.ink/zabbix-turn-conf/ #通过日志可以分析当前服务状态.LogFile=/tmp/zabbix_server.log #日志文件路径.LogFileS ...
- 数据库性能调优——sql语句优化(转载及整理) —— 篇2
下面是在网上搜集的一些个人认为比较正确的调优方案,如有错误望指出,定虚心改正 (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中 ...
- 性能调优之SQL优化
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...
- MySql(八):MySQL性能调优——Query 的优化
一.理解MySQL的Query Optimizer MySQL Optimizer是一个专门负责优化SELECT 语句的优化器模块,它主要的功能就是通过计算分析系统中收集的各种统计信息,为客户端请求的 ...
- 数据库性能调优——sql语句优化(转载及整理) —— 篇1
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实 ...
- Apache Pulsar 在 BIGO 的性能调优实战(上)
背景 在人工智能技术的支持下,BIGO 基于视频的产品和服务受到广泛欢迎,在 150 多个国家/地区拥有用户,其中包括 Bigo Live(直播)和 Likee(短视频).Bigo Live 在 15 ...
随机推荐
- C#回顾 - 3.NET的IO:字节流
使用 Stream 类管理字节流 使用 FileStream 类管理文件数据 使用 MemoryStream 类管理内存数据 使用 BufferedSream 类提高流性能 3.1 FileStr ...
- 理解Java中的final和static关键字
回顾这两个关键字前,先考虑一个问题: Static变量存储在JVM中的位置,或者说static变量是如何被加载的? JVM会把类的静态方法和静态变量在类加载的过程中读入方法区(Method Area) ...
- Java集合源码学习(一)集合框架概览
>>集合框架 Java集合框架包含了大部分Java开发中用到的数据结构,主要包括List列表.Set集合.Map映射.迭代器(Iterator.Enumeration).工具类(Array ...
- php开发(CI框架使用)
年前接了一个外包项目,要求使用PHP,琢磨来琢磨去,感叹道PHP框架实在是太多了!去知乎搜索一轮,最后决定使用CI, 相关议论如下:https://www.zhihu.com/question/216 ...
- Angular JS [Draft]
AngularJS应用是完全运行在客户端的应用.没有后端的支持,我们只能展示随页面一起加载进来的数据.AngularJS提供了几种方式从服务器端获取数据. $http服务 $http 封装了浏览器原生 ...
- WPF PRISM开发入门二(Unity依赖注入容器使用)
这篇博客将通过一个控制台程序简单了解下PRISM下Unity依赖注入容器的使用.我已经创建了一个例子,通过一个控制台程序进行加减乘除运算,项目当中将输入输出等都用接口封装后,结构如下: 当前代码可以点 ...
- 总结之HashMap
前言:在上班途中使用博客园的客户端看了看文章,恰好两天之中看了同一个主题关于HashMap的两篇文章: http://www.cnblogs.com/chenssy/p/3521565.html ht ...
- Effective C++ 之 Item 1: 视C++为一个语言联邦
Effective C++ Chapter 1. 让自己习惯C++(Accustoming Yourself to C++) Item 1. 视C++为一个语言联邦(View C++ as a fed ...
- [荐]使用jQuery清空file文件域
file是文本域,我们一般都会使用它来上传文件,在上传文件时我们需要验证,验证完成后,如果存在错误,为了防止将错误信息也上传上去,我们总是希望能够将其清空.但是在IE中,为了安全起见它是不允许我们改变 ...
- android:imeOptions属性(转)
默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 设置 android:imeOptions="actionDone" ,软键盘下方变成“完成”,点击后光 ...