我正在构建一个应用程序,从服务器获取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