想想干这行也快三个月了,也该考虑seo等优化了,
有时候,我们进入一个网页,发现不是一般的卡,而且有时候点击按钮还没反映,这自然是特别差的体验,甚至有时候页面还会卡退出去,这就很尴尬了
所以优化就特别重要了,当然,dom树的优化也很重要,毕竟一次dom树遍历也是特别耗时的
本章的重点还是放在reflow上
什么是reflow?
当浏览器发现某个部分发生了点变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫reflow。
例如,当我们加载一张新的图片进来,我们的布局必定会发生改变。而每个手机分配的内存都是不一样的,所以就会可能造成明显的卡顿现象
reflow是无法避免的,我们每次操作都可能会影响到视图,比如点击按钮,按钮颜色改变,border也改变,这就触发了reflow事件,(只要位置,大小不改变就不会触发)
相同的,还有另外一个事件,repaint,重新绘制,这事件,哪怕是改变颜色也会触发
为什么有些网页开久了很耗电?这自然有reflow的功劳,所以我们应该尽可避免reflow,怎么避免?
首页,页面效果不一定要那么的绚丽,在加载图片的时候,我们可以使用预加载,比如获取到图像的带下,在页面中预留着,这样加载的时候就不会触发reflow事件了
对于当前的reflow,各个浏览器肯定有自己的特俗处理,这就不是我们能触手的