.mousemove和内存,我是否需要优化或不?
我在这里创建了一个简单的轻型测试的演示:http://jsfiddle.net/CGr9d/
当我使用Chrome开发工具记录内存使用情况时,我得到这个:http://cl.ly/LSDl,它基本上一直持续到某个点,然后再次下降并重新开始,直到它再次达到前一个高点。
这是正常的吗? 有没有什么办法可以优化我的代码以减少内存密集?
这是我的鼠标移动功能:
$('body').mousemove(function(e) {
//2000 is half the image width/height, of course used for centering
$('.light-circle').css({ backgroundPosition: (e.pageX-2000)+'px '+(e.pageY-2000)+'px' });
});
谢谢。
如果与选择器.light-circle
匹配的元素不发生更改,可以像这样优化一下:
var circles = $('.light-circle');
$('body').mousemove(function(e) {
//2000 is half the image width/height, of course used for centering
circles.css({ backgroundPosition: (e.pageX-2000)+'px '+(e.pageY-2000)+'px' });
});
这样你就不会在每次鼠标移动时重新查询DOM,分配新的jQuery对象等等。
但在收集垃圾的环境中看到内存增加,然后减少然后再增加,这是非常正常的。
链接地址: http://www.djcxy.com/p/66963.html上一篇: .mousemove and memory, do I need to optimize this or not?
下一篇: Can I access an object in C++ other than using an expression?