Open pengkobe opened 6 years ago
https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/
其实很简单,直接使用谷歌开发者工具中的 Performance Tab 就可以完成任务,只是有几个
Performance
incognito-mode
一个要明白的是点时引用计数,还有一个就是标记和清除算法(从 root 节点开始追溯),使得类似这种代码
var div; window.onload = function() { div = document.getElementById('myDivElement'); div.circularReference = div; div.lotsOfData = new Array(10000).join('*'); };
也能被回收
使用可以由合成器单独处理的属性。目前只有两个属性符合条件:transforms 和 opacity,参考链接
使用 RAIL 模型评估性能,参考链接
优化 JavaScript 执行效率,参考链接
缩小样式计算的范围并降低其复杂性,参考链接
避免大型、复杂的布局和布局抖动, 参考链接
简化绘制的复杂度、减小绘制区域, 参考链接
https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/
其实很简单,直接使用谷歌开发者工具中的
Performance
Tab 就可以完成任务,只是有几个注意事项
incognito-mode
(无痕浏览模式),可以屏蔽你安装的一些谷歌插件影响,在下拉菜单中即可选择,更多关于无痕模式的特性介绍,可以参考这个: https://www.lifewire.com/incognito-mode-google-chrome-4103635内存回收
一个要明白的是点时引用计数,还有一个就是标记和清除算法(从 root 节点开始追溯),使得类似这种代码
也能被回收
性能优化技巧
使用可以由合成器单独处理的属性。目前只有两个属性符合条件:transforms 和 opacity,参考链接
使用 RAIL 模型评估性能,参考链接
优化 JavaScript 执行效率,参考链接
缩小样式计算的范围并降低其复杂性,参考链接
避免大型、复杂的布局和布局抖动, 参考链接
简化绘制的复杂度、减小绘制区域, 参考链接