我正在構建一個應用程序,從服務器獲取XML,然後解析它(它的DIDL格式在地方)。目標是儘可能多地加載到內存中,以方便用戶瀏覽(以便快速滾動結果),但我一直在獲取OutOfMemoryError
。我對Android很陌生,看起來虛擬機真的很挑剔。我加載的不超過一兆字節的XML,並且幾乎立即丟棄它。我應該怎麼做才能防止這些錯誤發生?Android的OutOfMemoryError與XML
我是否應該通過網絡加載文件塊,將其寫入磁盤,然後將塊加載回內存並將其解析爲內存,將所有內容解析爲POJO?如果可以避免的話,我不想實現某種形式的分頁,就像Twitter應用程序一樣(當你點擊底部時它用來加載更多的條目,它現在一次加載很多,並且同樣崩潰一個OOM錯誤。)如果有幫助,我正在運行Nexus One,CM7/Android 2.3.3。
這很有道理。我想我會研究這個。我正在使用一個API來處理所有這些東西(解析,加載到內存等),所以我將不得不將其全部解決,並弄清楚如何爲我推出自己的HTTP請求並解析我的自己的結果,但是,這是一個好的開始。它也肯定會提高應用程序的性能,並逐個解析元素並將它們添加到列表中。 – 2011-02-28 21:55:31