我使用NSXMLParser構建了一個分析算法。 我很懷疑什麼是保持我的內存使用最少的最佳策略。NSXMLParser用於大型XML的iPhone內存策略
我有一個valueObject(例如「Person」)這個對象有30個NSString屬性,當解析xml時,我會在遍歷節點時不斷地分配和釋放臨時Person對象。 我檢查了這一點,並且這些Person對象中只有一個在任何時候被實例化。 當一個節點被遍歷並且一個Person是「build」時,我將該Person傳遞給一個NSMutableArray並釋放這個Person。似乎沒有問題。 (我需要一個tableView的數組)。 當我到達數組中的50個Person對象時,我的應用程序剛剛退出,didReceiveMemoryWarning不會被調用,沒有其他警告,沒有parseErrorOccurred,什麼都沒有?
如果我限制了xml中的人數,那麼應用程序確實沒什麼問題,但我還是無法使用Instruments找到任何內存泄漏。 我認爲我根本無法在數組中保存50個以上的Person對象...似乎有點苛刻,但我對iPhone沒有太多的內存體驗,所以這只是一個猜測。
xml是搜索結果,用戶可能只需要幾個搜索結果,因此將它們保留在我的核心模型中以便讓它們保持顯示似乎有點瘋狂。
保持這些Person對象的好方法是什麼?還是我錯過了一個巨大的內存泄漏,因爲iPhone應該能夠處理更多的內容?
希望有經驗的開發人員可以點我在正確的方向:)
謝謝!
一些示例代碼將是有益 – ACBurk 2009-11-03 22:44:11