2013-05-19 17 views
6

我有一個網站,有很多大的照片,總是在html中設置。像在.remove()之後,圖像對象是否保留在RAM中?

<div><img src="sample1.jpg"></div> 
<div><img src="sample2.jpg"></div> 
<div><img src="sample3.jpg"></div> 
<div><img src="sample4.jpg"></div> 
.... 

這使得網站非常緩慢。即使.animate()函數也可以解決問題。所以我決定只加載5張圖片,其他圖片則根據要求加載。問題是,當太多的圖片加載時,網站又變得緩慢了。問題:

如果我使用.remove()函數刪除所顯示圖像周圍的所有圖像,圖像是否仍然保留在RAM中,或者當我添加圖像時它們將被刪除並從緩存中再次獲取?

希望這個問題是清楚的, 在此先感謝。

+0

我會希望進行刪除的圖像被垃圾回收,從而除去在某一點後不久,但不一定馬上。您是否嘗試過使用瀏覽器的開發工具來監控內存使用情況? – nnnnnn

+0

我正在使用Firefox。螢火蟲或網頁開發者工具列有嗎? –

+0

據我所知,當創建一個圖像對象時,圖像被下載並以二進制形式存儲,幾乎作爲一個常規變量,並應遵循垃圾收集的正常規則,一旦沒有更多的參考對象。 – adeneo

回答

1

不能強行刪除活動內存使用Javascript/jQuery的瀏覽器什麼,但像其他的用戶已經在使用時的一個.remove()已刪除的元素,然後暴露垃圾回收說。

我認爲它不太可能是造成你所看到的放緩和它更有可能的問題與您的一些其他腳本代碼這些圖像。

我假設通過減慢你的意思是像指示內存/ CPU使用率的頁面滯後。

如果問題出在實際的頁面加載時間,那麼問題在於其他地方,並且與被佔用的RAM無關,但更有可能是由於圖像的加載時間,如果可能的話,在服務器端刪除不必要的圖像。

相關問題