我正在研究實時媒體瀏覽/回放應用程序,在瀏覽器中使用<video>
對象進行回放(如果可用)。如何正確卸載/銷燬VIDEO元素
我使用的是直接的JavaScript的組合,和jQuery,
我關注的是專門與記憶。應用程序不會在窗口中重新加載,並且用戶可以觀看許多視頻,因此隨着時間的推移內存管理成爲一個大問題。在今天的測試中,我發現內存配置文件會跳過視頻大小,以便隨後的每個負載進行流式傳輸,並且永遠不會回落到基準線。
我已經嘗試具有相同的結果下面的事情:
1 - 清空包含有創建的元素的父容器,例如:
$(container_selector).empty();
2 - 暫停和移除兒童匹配的「視頻」 ,然後清空父容器:
$(container_selector).children().filter("video").each(function(){
this.pause();
$(this).remove();
});
$(container_selector).empty();
有沒有其他人遇到這個問題,有沒有更好的方式來做到這一點?
我會給這個鏡頭 - 謝謝! – sparkey0 2010-07-15 19:45:14
好的,所以你把我放在正確的軌道上 - this = null; 沒有工作,但 刪除(this); 沒有! – sparkey0 2010-07-15 19:48:37
很高興聽到它。我會更新答案以包含您的發現。 – 2010-07-15 19:59:33