ntcn

Ремонт холодильников на дому

03.09.2017

Последствия наличия единственного главного потока

Может возникнуть вопрос: почему так важен факт, что большая часть кода в приложении Android выполняется в главном потоке, а не где-либо еще? Причина в том, что главный поток отвечает за возврат к своей очереди, чтобы обеспечить реакцию на события пользовательского интерфейса. Следовательно, главный поток не должен удерживаться на протяжении длительного времени. Если какая-то работа занимает более 5 секунд, ее нужно выполнять в отдельном потоке либо отложить, указав главному потоку на необходимость возврата, когда он освободится от другой обработки. Однако выполнение работы в отдельно потоке не так просто, как может показаться поначалу.

Пулы потоков, поставщики контента и внешние службы

Когда внешние клиенты или компоненты, находящиеся за пределами процесса, обращаются к поставщику контента за данными, для этого вызова выделяется поток из пула потоков. То же самое справедливо и в отношении внешних клиентов, подключающихся к службам.

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

С помощью метода logThreadSignature() можно выяснить, какой поток выполняет код. Можно также воспользоваться методом sleep() из библиотеки Java и посмотреть, что произойдет, если приостановить главный поток и, таким образом, не позволить ему обрабатывать очередь сообщений. Как видите, вызов функции sleep() помещен в служебный метод sleepForInSecs (). Мы уже кратко упоминали об идее откладывания работы в главном потоке, когда такое необходимо. Это делается через обработчики. Обработчики используются в Android повсеместно, так что главный поток пользовательского интерфейса не удерживается. Они также играют важную роль при взаимодействии с главным потоком других порожденных рабочих потоков.









База знаний Новые статьи
Перечень возможностей ViartShop
Основные функциональные возможности  подробнее…подробнее…
настройки меню администрирования
Общие настройки показа и доступа к меню администрирования интернет-магазина.  подробнее…подробнее…
E-commerce новости
"Яндекс.Маркет" - цены с доставкой
Введен новый формат показа цен на товары интернет-магазинов на Яндекс.Маккет -  будет показываться конечная цена товара - с учетом доставки покупателю. Кроме того, пользователи смогут увидеть, сколько времени уйдет на доставку товара.
подробнее…
SEO Теория и практика
Как добиться максимальной SEO-эффективности
Каждый интернет-предприниматель стремится добиться максимальной эффективности от продвижения своего сайта. Однако это получается далеко не у каждого, т.к. многие зачастую не знают даже основ грамотного продвижения сайта в интернете.
подробнее…

Copyright © 2009-2014 Viartsoft. Все права защищены.

Viart Shop RE - универсальное решение для создания интернет-магазинов