2013-10-03 32 views
5

我注意到我的Phonegap應用程序在iOS7上遇到了一些iOS6上沒有發生的內存問題。iOS7 webkit頻繁崩潰 - 沒有釋放內存?

  1. 長着許多圖像
  2. 顯示從手機的相冊(9大馬計劃)圖像iScroll名單會崩潰後您查看幾個

#1,這是從來沒有在iOS6的問題,無論設備。

對於#2,我重新使用相同的DIV元素來顯示下一張圖片,所以看起來前一張圖片沒有被清除。

在這篇文章中所提到的技術不再出現在iOS7工作: iPad/iPhone browser crashing when loading images in Javascript

+0

我遇到了類似的問題。我現在在iOS 6上運行良好的應用程序現在也在iOS 7.0.3中崩潰,因爲圖像內存沒有正確放置。我正在使用與鏈接中描述的技術類似的技術。你發現了什麼新東西嗎?你已經提交了一個bug嗎? –

回答

3

對於這個問題,我發現最好的辦法是將下面的代碼:

var img = document.getElementById('imageID'); 
img.parentNode.removeChild(img); 
img.src = 'data:image/gif;base64,' + 
     'R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; 
setTimeout(function() { 
img = null; 
}, 60000); 

這臺src屬性一個小小的gif,然後等待足夠長的時間才能最終發生垃圾收集。

請參見:http://www.fngtps.com/2010/mobile-safari-image-resource-limit-workaround/

這應該爲你工作。我可以通過使用Xcode儀器來驗證內存是否已經釋放。不幸的是,這個解決方案似乎不適用於我正在使用的主屏幕應用程序。

+0

7.0.4遇到同樣的問題。我們正在使用phonegap +主幹+鉚釘。我在每個視圖的末尾都做了這個,它有一點幫助。試圖在鉚釘的數據綁定中實現這一點,但這是我知道的最後一個地方可以幫助。 – Krym

+0

我的問題似乎在iOS 7.0.4中得到修復。今天還有一個7.1測試版。 –

+0

你的意思是這不適用於ios 7+? – jujule