簡體   English   中英

JavaScript中setTimeout的內存泄漏問題

[英]Memory leak issues with setTimeout in javascript

我有一個JavaScript代碼來控制動畫的移動div。在此我使用setTimeout來使div移動。 您可以單擊以下鏈接播放動畫。

     `http://jsfiddle.net/dudling007/PfPzj/3/`

問題在於,播放動畫后,每當我在暫停和恢復按鈕上單擊兩次時,會占用大量內存,並且暫停按鈕的單擊也變得很慢。 我從MAC OSX的活動監視器中看到了%CPU和實際內存消耗。有人可以幫助我,單擊暫停按鈕10 -14次后,占用大量內存的代碼是什么問題。

內存泄漏的發生是因為每次調用moveCard方法時moveCard設置$('#pause_button').click事件。 按鈕綁定應移出“對象”循環。

您可以使用Firefox的工具鏈接firebug來檢查javascript的控制台日志。 這是您的帶有登錄暫停按鈕的示例。 這應該只發生一次。 http://jsfiddle.net/Th6ha/1/

$('#pause_button').click(function() { 
console.log('pause pressed');
                      arrayObject.pause(wStart,lStart,wEnd,lEnd);
                      $('#resume_button').css('display','inline-block');
                      $('#pause_button').css('display','none');

                      }); 

您可以考慮使用jani的方法動畫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM