2014-03-18 31 views
3

我有一個發送二進制映像的websocket。我的腳本獲取這些圖像,轉換爲base64並顯示在標籤中。Chrome:顯示base64映像時發生內存泄露

事情是這樣的:

websocket.onmessage = function(evt) { 
    var msg = evt.data; 

    var image = $('.my-image') 
    image.attr('src', "data:image/jpeg;base64,"+ toBase64(msg)) 
} 

這似乎導致在Chrome瀏覽器內存泄漏。幾分鐘後,它將很容易使用超過1GB的RAM。幾個小時後,我收到「Aw,Snap」錯誤。

看看資源標籤,我看到所有收到的圖像都顯示出來。它看起來並不像在任何時候被刪除,即使它們不再顯示。

是否有解決此問題的方法?也許一種強制舊圖像從內存中移除的方法。

回答

0

將圖像base64保存在臨時變量中,並將信息替換爲null。