我正在构建一个Android应用程序,它从远程URL获取xml并保存在SD卡位置。
Xml相对较大(3 MB - 大约30000个元素)。我需要解析整个文档并从中构建一个java模型..
我使用开箱即用的Android的SAX和Pull解析器实现,但性能不尽如人意。我测试了不同类型的移动设备armv7 / 998MHZ,500MHZ,260MHZ,但性能没有线性改善时用更强大的设备进行测试..
SAX:
xmlIn.parse(new InputSource(new FileInputStream(myfile)));
拉线:
parser.setInput(new FileInputStream(myfile), null);
在我看来,SAX比Pull好一点。有没有办法改进这些解析器?像NIO一样,非阻塞/缓冲技术可以提高性能吗?
由于Android不支持StAX,我无法使用FasterXML Aalto。
赞赏任何意见。