Обработка больших Spanned объектов с TextView (setText) - PullRequest
0 голосов
/ 01 декабря 2010

Ну, чтобы рассказать вам немного об этом проекте - я анализирую строку размером около 100 КБ в дочернем потоке и возвращаю объект Spanned из Html.fromHtml ().

Проблема в том, что когда он возвращается в основной поток - при попытке установить текст с использованием Spanned, который был только что создан в другом потоке, требуется довольно много времени для его обработки из объекта Spanned в отображаемый формат (setText).

Я бы обычно обрабатывал это в дочернем потоке, но, к сожалению, поскольку это связано с пользовательским интерфейсом, я не могу - должен быть в основном потоке. Итак, мой вопрос заключается в том, есть ли способ обработать Spanned во что-то, что легко интерпретируется setText, чтобы он не тратил много времени на обработку основного потока после его завершения дочерним потоком.

testQuestionsExplanations.setText(spannedExplanationsObj);

Моя самая большая проблема заключается в том, что при этом он блокирует основной поток.

1 Ответ

1 голос
/ 01 декабря 2010

Я нашел решение моей проблемы.

Вместо того, чтобы отправлять весь объект Spanned и обрабатывать его в TextView одновременно, я отправляю меньшие фрагменты и просто добавляю их в TextView.

Таким образом, мой ProgressDialog не блокируется полностью - он дергается, но лучше, чем вообще не двигаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...