У меня есть код, который использует Jsoup для получения и анализа некоторых html-страниц, а затем я манипулирую html-деревом, прежде чем передать его в WebView, который его рисует. Если я обойду мои манипуляции, код будет выполняться за приемлемое время (2-3 секунды) на симуляторе Android SDK, но когда я выполняю свои манипуляции, время будет недопустимым (~ 60 секунд, чтобы просто загрузить одну страницу!).
Используя Eclipse и Android SDK, я профилировал запуск, и теперь я пытаюсь интерпретировать результаты. отсюда http://android-developers.blogspot.com/2010/10/traceview-war-story.html воспользовался советом, чтобы отсортировать профиль по «Эксклюзивному процессорному времени %». К моему удивлению, мой собственный код даже не попал в список 1%. Самый большой потребитель времени — android.view.ViewGroup.drawChild() — 11,9%. Первая перечисленная функция, не относящаяся к Android (отсортированная по эксклюзивному процессорному процессору%), — это java.lang.ref.Reference.get(), и она указана как 0,4%.
Но я думаю, что самое странное - это мой собственный код, я могу найти только doInBackground() моего AsyncTask в списке; функции, которые это вызывает, в свою очередь, даже не присутствуют, хотя я вижу по отладочному выводу, что они вызываются. Почему таких нет в списке?
Я не понимаю, что со всем этим делать. Любые подсказки очень ценятся.