公司的项目需要无刷新的动态滚动table,从上往下滚动,我是用jquery的insertAfter实现的,在table前面添加一条的同时remove最后一条。但现在进行长跑测试一个晚上,如果数据量大的话(大概每秒50条记录以上),内存会增加1.5G,明显存在内存泄漏,在网上也找了资料,变量都赋NULL了,GC也调用了,setTimeout(CollectGarbage, 10)! 内存还是加得这么厉害。我猜应该是insertAfter插入过快引起的,如果某一时刻接收的数据很多的化,内存明显加得厉害。以前从来没做过这样的应用需要把IE开几个晚上不动的,所以没什么经验处理这样的问题。请求高手帮忙想想办法,多多指点,谢谢。实在不行的话,那个table就只能做成控件的形式了!!

解决方案 »

  1.   

    确定是jquery引起的吗??你的table数据应该一次性全拿出来,然后在页面上做滚动。还有1秒50条刷的太快了吧,别人还没看清楚数据就刷过去了。没劲
      

  2.   

    现在减少到每秒10条记录了,我是用insertAfter插入一行到table的第二行,再remove最后一行,我是怀疑remove没有完全销毁内存。但不知道怎么解决!