2010-03-24 76 views
1

是否有可能使用javascript從瀏覽器(firefox2)內存中刪除一些圖像?通過這樣做,我想保存一些珍貴的瀏覽器內存,並讓我的Web應用程序更好地工作。如何在瀏覽器中從內存中刪除圖像

我想,如果可能的話,這將是這樣的:

delete (document.images[7]); 


document.images[7].src = null; 


document.images[7] = null; 

回答

3

最明智的事情將是從DOM中刪除圖像元素。

var img = document.images[7]; img.parentNode.removeChild(img) 

我不知道有多少內存可以挽救你,如果有的話。 delete運算符在這種情況下不會做任何事情,因爲返回的HTMLCollection是ready-only

是否有一個特別的原因需要釋放內存?也許有一些內存泄漏?也許這會幫助:http://www.ibm.com/developerworks/web/library/wa-memleak/

0

您不能直接從瀏覽器的內存緩存中刪除任何內容。這種細粒度的訪問不可能從Javascript中獲得。充其量,您可以通過從DOM樹中刪除對特定圖像的任何引用來刪除正在查看的頁面中的圖像。

您還必須從其他窗口/選項卡中刪除它。在這一點上,如果沒有更多的引用,瀏覽器的垃圾收集可以踢入並清理,但是你不能強制垃圾收集器啓動。你可以通過加載一堆其他圖像/內容來嘗試,但是那麼你只是在浪費記憶。

+0

雖然多個頁面(標籤)中使用的相同圖像可能需要唯一的內存分配,但由瀏覽器分配的用於管理單個頁面(可能是標籤)的內存與分配用於管理圖像的內存不同。 – 2011-07-15 09:27:57

相關問題