может ли использование обработчика ускорить отображение данных?

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

например, сервер отправляет почти 100 строк за одну секунду, и данные в этих 100 строках должны отображаться с помощью TextViews.. но поскольку, как вы заметили, высокая скорость отправки dtat, TextViews не может показать все данные к моменту отправки.

Что я хочу сделать, так это иметь возможность отображать эти частые данные с помощью textViews, но без запаздывания или задержки в отображении данных, что-то вроде того, как вы видите данные датчика, отображаемые в textView.

учитывая вышеуказанную проблему, может ли помочь использование обработчика?


person rmaik    schedule 24.02.2015    source источник


Ответы (2)


учитывая вышеуказанную проблему, может ли помочь использование обработчика?

Чтобы ответить на ваш вопрос, вот что говорится в документах в отношении Handler :

Существует два основных способа использования обработчика:
(1) для планирования сообщений и исполняемых модулей, которые должны быть выполнены в какой-то момент в будущем; и
(2) поставить в очередь действие, которое будет выполняться в потоке, отличном от вашего собственного.

Честно говоря, я не понимаю, как обработчик может помочь вам достичь того, что вы ищете.
Вы делаете свой http-запрос в отдельном потоке? (если нет, то надо)

Кроме того, я не уверен, что понял связь между TextViews и very high rate from server.

person Andy Res    schedule 24.02.2015

Обработчик — это только средство постановки Runnable в очередь для запуска в основном потоке. Вы не должны подключать вывод сервера напрямую к графическому интерфейсу, потому что вы можете засорить основной поток. Если вы загружаете с высокой частотой, я бы предложил хранить загруженные данные где-то в памяти (или в постоянстве, если необходимо), и заставить графический интерфейс считывать эти промежуточные данные медленнее.

person Mister Smith    schedule 24.02.2015
comment
Я бы предложил хранить загруженные данные где-то в памяти (или в сохранении, если это необходимо), и чтобы графический интерфейс читал эти промежуточные данные медленнее... дело в том, что мне нужно отображать данные в textViews в в то же время сервер опубликовал данные - person rmaik; 24.02.2015
comment
Но у вас может быть таймер, например, обновляющий графический интерфейс каждую секунду. - person Mister Smith; 24.02.2015