我一直在使用SAX解析器來獲取各種XML的數據,但是今天我用一個hudge XML來解決新問題(與以前的,這裏大約有12K條線),裏面有很多重複的項目。在大多數情況下,該項目是一個塊的一部分:在Android中使用SAX解析器 - OutOfMemory問題
<content>
<item lbl="blabla">
<item lbl="blabla"/>
<item lbl="blabla"/>
</item>
<item lbl="blabla">
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
</item>
</content>
的布拉布拉部分是當然的變化......但是,我想,以保持項目的結構(它們是標題和副標題)。爲此,我附加每個blabla的開始和結束標記<itemx>blabla</itemx>
,其中x是項目(1,2,3或4)樹中的位置。 有點問題的部分是,與此同時,我創建了成千上萬的無用對象,並且垃圾收集器沒有時間在解析器之後進行清理,並且不可避免的OutOfMemory出現在我的面前... 我不知道如何處理它;最好的方法是如果我可以把<content></content>
的全部內容,但我不確定這是可能的SAX解析器。
任何幫助是值得歡迎的任何解決方案深深感謝...
事實上,我正在將數據存儲在SQLite數據庫中,但僅在解析結束時... 同樣,是的,我創建了大量對象,因爲我試圖保留項目樹。 ..不幸的是,我看不到其他的選擇... 感謝您的回答,它證實了我的恐懼...... :) – Sephy 2010-03-14 22:15:38
您可以隨時嘗試使用「DocumentBuilder」,因爲它意味着爲您保留整棵樹以通用的方式。 – 2010-03-14 22:30:28