I am building an android app which gets the xml from a remote url and gets saved in an SD Card location.
Xml is relatively big (3 MB - approximately about 30000 elements). I need to parse whole document and build a java model out of it..
I used out-of-the box android's SAX and Pull parser implementations, but the performance is not satisfactory.. I tested with different types of mobile devices armv7/998MHZ, 500MHZ, 260MHZ, but the performance is not linearly improving when testing with more powerful devices..
SAX:
xmlIn.parse(new InputSource(new FileInputStream(myfile)));
Pull:
parser.setInput(new FileInputStream(myfile), null);
In my case SAX is doing little bit better than Pull. Are there any ways to improve any of these parsers? Like NIO, non-blocking/buffering techniques to improve performance?
Since StAX is not supported in Android, I can't use FasterXML Aalto.
Any inputs are appreciated.