Как решить проблему с производительностью синтаксического анализа XML на Android

Мне нужно прочитать XML-файл примерно с 4000 строками на Android. Сначала я попробовал библиотеку SimpleXML , потому что она самая простая и в моем HTC Desire потребовалось около 2 минут. Поэтому я подумал, что, возможно, SimpleXML настолько медленный из-за отражения и всего остального волшебства, которое использует эта библиотека. Я переписал свой синтаксический анализатор и использовал встроенный метод синтаксического анализа DOM, уделяя особое внимание производительности. Это немного помогло, но все равно потребовалось около 60 секунд, что по-прежнему совершенно неприемлемо. После небольшого исследования я нашел эту статью на сайте developer.com . Есть несколько графиков, которые показывают, что два других доступных метода - синтаксический анализатор SAX и XML Pull-Parser Android - одинаково медленны. А в конце статьи вы найдете следующее утверждение:

Первое, что меня удивило, это то, насколько медленными были все три метода. Пользователи не хочу долго ждать результатов на мобильных телефонах, поэтому парсинг все, что больше, чем несколько десятков записей, может требовать другого метода.

Что может быть «другим методом»? Что делать, если у вас более «нескольких десятков записей»?

16
задан IMSoP 22 June 2014 в 22:16
поделиться