我試圖通過每100毫秒更換一次圖像的src來實現一個使用Javascript的動畫PNG。它顯示得很好,但是我發現它在Firefox上運行時逐漸消耗越來越多的內存。快速替換圖像時在Firefox中的內存使用情況src
這是循環我使用的播放動畫,雖然我不認爲有什麼壯觀吧 -
self.next = function() {
if(self.doPlay == true) {
self.currentFrame++;
if(self.currentFrame >= self.numFrames) {
self.currentFrame = 0;
self.doPlay = self.doLoop;
}
}
if(self.doPlay == true) {
image.src = self.frames[self.currentFrame].src;
setTimeout(self.next, self.frameDelays[self.currentFrame]);
}
}
(其中幀是預載圖片對象的數組)
如果我註釋了src中的更改,內存使用情況良好。否則,內存使用率會無限上升,直到瀏覽器最終崩潰。
我試過刪除並從DOM替換圖像,而不是改變src(在香草和jQuery中),但它似乎沒有幫助。
任何人都知道更好的方法?
感謝您的時間:)
你是說這個問題只存在於Firefox中,即它可以在其他瀏覽器中使用? – nnnnnn
它似乎在Chrome上運行良好,但我還沒有嘗試過任何其他主流瀏覽器。 – fluke
這是一個荒謬的想法。 – mowwwalker