XML解析器有时无法解析Android上的大型XML文件

时间:2010-11-19 06:19:31

标签: android xml

我正在解析我的应用程序中的大型XML文件(~1-2M)。偶尔解析器失败 在解析一些文件时。

症状:

  1. 有时会成功解析同一个文件,有时 - 不是。
  2. 如果解析文件失败,则需要一些时间才能解析文件 再次成功。
  3. 我使用两种类型的XML解析器:SAX(XMLReader)和Pull(XMLPullParser), 它们都在文件中的同一个地方附近失败。
  4. 我使用FileInputStream作为解析器的输入源。
  5. 通过zip压缩相同的文件,然后通过ZipFile.getInputStream打开 (差不多)总是成功解析。
  6. 我尝试用BufferedInputStream包装FileInputStream - 没有任何改变。
  7. 如果解析失败,则下一次解析文件的尝试会在文件中的相同位置失败。
  8. 我相信可能有两个原因:

    1. FileInputStream工作不正常。
    2. XML解析器与FileInputStream的工作不正确(我听说过两个解析器 在Android的同一个基础上实现。)
    3. 请帮助解决问题或建议解决方法。

      感谢。

1 个答案:

答案 0 :(得分:1)

如果您有时只遇到问题,则会出现这种情况。如果每次运行应用程序时出现问题,则问题可能出在XML上。

在我的情况下,我认为它是设备(我有三星I5700)或SD卡问题,因为我的应用程序的用户都没有报告同样的问题。

我要用android重新格式化SD卡或尝试/再购买另一张。