SAX парсер занимает много времени на разбор - PullRequest
1 голос
/ 07 июля 2011

Я создал приложение, в котором я анализирую данные с сервера, используя SAX-парсер. Я перешел по этой ссылке

Работает нормально, но заняло много времени. Мне нужно сократить время, необходимое для разбора материала. Любые про советы?

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

Как сказал Тед, профилируйте ваш код .

Вы уверены, что это время разбора, а не время загрузки? Вы по Wi-Fi или мобильной сети? Как быстро другие приложения загружают свои данные?

Тем не менее, не используйте столько ArrayList объектов, один список массивов с пользовательским типом контейнера (т. Е. Объект Ticket имеет цену и дату, не нужно иметь массив цен и массив дат)

Проверьте использование памяти, обычно, если дела идут медленно, вы производите тонну мусора. (ищите GC в журнале)

Используйте ключевое слово final для параметров String, которые не изменятся. Так что setString(final String s) вместо setString(String s). Это должно предотвратить дублирование строк при передаче в качестве параметров.

Используйте JSON вместо XML, если вы можете, это более легкий вес.

После внесения каких-либо существенных изменений снова профилируйте свой код

2 голосов
/ 07 июля 2011

Очевидный совет: профилируйте свой код и определите, куда идет время. Возможно, вы проделали большую работу по обработке некоторых событий SAX. Возможно, время тратится на выполнение чего-то совершенно не связанного с разбором. Вы не можете сказать, пока вы не профиль.

...