我有一個iPad應用程序(IOS 4.3 & 5.0),每次用戶頁面向前或向後創建UIView時至少有2個子視圖。 2個子視圖是UIWebView對象。UIWebView內存泄漏
在每個相關的滑動操作中,舊的UIWebView會被正確地移除和釋放(removeFromSuperview然後stopLoading並將委託設置爲nil),並且釋放父UIView。我可以確認父UIView和2個子UIWebViews都完全沒有了。
我可以在網頁瀏覽中看到保留數,因爲它們被刪除,我確信它們確實每次都被刪除。 但是,我的內存分配在每次刷卡時會繼續增加〜200-350k。儀器沒有泄漏,但我可以看到內存使用量緩慢上升。 在iPad 1上,應用程序最終(在中等使用情況下6-10分鐘內)會收到多個內存警告並終止。 LowMemory崩潰日誌等等。
我們使用stringByEvaluatingJavaScriptFromString和loadRequest來填充Webviews。即使沒有任何內容被注入或加載到webView中,內存使用量也會增加。
是否有人用UIWebViews體驗這種行爲?有沒有人處理過這個成功?
雖然,評論&答案將不勝感激。
你正在從超級視圖中刪除,停止加載,並將委託設置爲零,但你確定*你沒有額外的保留在這些網頁瀏覽?可能你沒有考慮'@property(nonatomic,retain)'? – Tim
嗨,你有沒有碰運氣? –
循環參考。我的意見之一仍然掛在控制器上。畢竟經典的記憶體非常經典,但在大型代碼庫中很難處理。 – smaura777