性能优化与调试技巧 | 豆包MarsCode AI刷题

120 阅读2分钟

性能优化与调试技巧

1. 减少重绘和重排

重排:当DOM的变化影响了元素的几何信息(元素的的位置和尺寸大小),浏览器需要重新计算元素的几何属性,将其安放在界面中的正确位置,这个过程叫做重排。 重排也叫回流,简单的说就是重新生成布局,重新排列元素。

重绘:当一个元素的外观发生改变,但没有改变布局,重新把元素外观绘制出来的过程,叫做重绘。

在实践过程中,页面初始渲染是开销最大的一次重排(或调用reload方法)

减少重排的一个行之有效的措施是将属性定义在DOM树尽可能下层的元素中。 另外的方法还包括将读写分别合并到一起,而不是读写穿插进行;修改时将DOM离线,进行修改的部分足够多后再将DOM上线等

2.使用节流和防抖技术

节流防抖是优化浏览器事件监听性能的常用技术,特别是在需要频繁触发的事件(如滚动、窗口大小变化、键盘输入)中。 节流:规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。当触发频率过高时也能保持在规定时间内只触发一次函数,限制调用次数。典型应用场景是页面滚动。 防抖:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。典型应用场景是搜索引擎的输入框向后端发送请求。当用户向输入框输入内容时,不会每次输入框发生改变时都向后端发送数据,而是等待一段时间用户不再更改输入框内容后,再向后端发送请求。

这两种策略都能够有效减少服务器资源消耗以及优化用户体验。

3. 使用性能分析工具

最典型的工具是chrome F12开发工具。可以查看页面加载时间,内存使用情况等。 类似的工具也有PageSpeed Insights,输入网址它能够分析该网站的各项指标并给出优化建议。 下方展示了一个示例的诊断结果

image.png 通过这些工具的分析结果可以得知哪些资源的加载时间较长,能够进行针对性优化,也能帮助我们分析内存泄漏问题。