Wie kann ich das XML-Parsing für Android beschleunigen?

Guten Tag (je nachdem, wo Sie wohnen)!

Ich bin ziemlich neu in der Android-Entwicklung und arbeite derzeit daran, die Funktionalität von einer vorhandenen iOS-App auf Android umzustellen. Ein Teil dieser Funktionalität besteht darin, eine "große" (~ 13.000 Zeilen) RSS-XML-Datei zu analysieren, die etwa 500 Einträge enthält. Ich habe 10-15 Stunden damit verbracht, XML-Parsing auf Android zu untersuchen UND die wichtigsten XML-Parser auszuprobieren: DOM, SAX und Pull-Parsing. Hier sind meine Ergebnisse, die im Emulator auf meiner Box ausgeführt werden (32-Bit-Windows Vista, 2,2-GHz-Dual-CPU, 3 GB RAM):

SAX: ~ 6: 00 Minuten

Pull-Parsing: ~ 4: 00 Minuten

DOM: Länger als 4:00 Minuten, habe es aber nicht zeitlich festgelegt, als ich die Implementierung codiert hatte.

Ich habe auch diesen RSS Reader von github ausprobiert, aber es hat> 10:00 Minuten gedauert:

https://github.com/matshofman/Android-RSS-Reader-Library

Die Implementierungen für SAX, PP und DOM stammen alle aus stackoverflow.com-Threads, daher bin ich ziemlich zuversichtlich, dass ich keine nicht standardmäßigen Aktionen durchgeführt habe (obwohl ich das nicht ausschließe). Ich habe beschlossen, mich an eine größere, erfahrenere Masse zu wenden, um mir ein paar Ideen zu verschaffen, was ich sonst noch ausprobieren kann.

Ich habe keine Kontrolle über das Format der Datei. Wenn ich dieses End-to-End implementieren würde, würde ich einfach einen Web-Service schreiben, der den gesamten Arbeitsaufwand auf dem Server übernimmt, und dann eine kleine, kompakte, JSON-serialisierte Liste senden. Stattdessen habe ich die 13K-Zeilendatei. :)

Gibt es einen Einblick in das, was ich tun kann? Es scheint ein recht häufiges Problem zu sein, aber die meisten Antworten sagen nur, dass Sie einen der verschiedenen XML-Hauptparser ausprobieren sollten. In meinem Fall habe ich alle drei ausprobiert und selbst der schnellste scheint viel zu langsam.

Was mache ich falsch? Gibt es normale "Newbie" -Probleme, die normalerweise auftreten, wenn XML-Parsing über das Netzwerk unter Android ausgeführt wird?

Vielen Dank im Voraus für jede Hilfe, die Sie leisten können!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage