高性能网站建设进阶指南

1 .在对js性能分析的时候,性能分析也会受到外在的影响,类似物理学中的观察者效应,观察代码的行为本身改变了代码的性能。如何在接下来的测试工作中来进行实践,挑选最好的测试工具

线程处理的两种方案

1 .web worker
2 .使用定时器挂起,简单的把运行时间较长的计算超分成独立的区块,然后使用js定时器控制执行。

内存的两种情况

1 .内存泄漏
2 .内存管理:js像很多高级的语言一样把内存管理抽象出来,绝大部分的运行环境实现了垃圾回收,但是这也是有代价的,当执行回收的时候,他会冻结整个运行环境,包括我么正在调用的主浏览器js线程,直到遍历完整个创建对象的“堆”,在这个过程中,他们去查找不在使用或者未用内存的对象
3 .对于大部分用户而言,GC是完全透明的,因为冻结运行环境的时间可以短到忽略不计,但是随着应用内存的增加,遍历整个堆去查找不在使用的对象所需要的时间将增长并最终会达到引起用户注意的程度
4 .解决方法:及时使用delete 关键字从内存中移除不在需要的js对象,从网页的dom树上移除不再是必须的节点
5 .下一步需要注意:前端排除内存问题的工具。

拆分初始化负载

寻找拆分

通过资源下载列表,可以将文件分为触发onload事件之前和之后两部分。webpack实现,Doloto,一个微软开发的自动代码系统

未定义标识符和竞争状态

1 .最容易出现的问题:加载资源的时候用户操作了和这个js脚本有关的函数。
2 .延时代码和界面元素相关的情况下,第一种是可以添加一个加载中提示,第二种是在延时加载代码的里面绑定界面元素的处理程序
3 .和界面无关:设定一个桩函数,名字相同,但是函数提为空,或者用一些临时代码代替原有函数的内容,最好的是使用桩函数记录这个用户的操作,等加载完成之后调用相应的代码

无阻塞加载脚本

1 .

你可能感兴趣的:(高性能网站建设进阶指南)