Доводчик dorma ts 68

05.09.2017

Вызов handleMessage() позволит главному потоку вернуться в свой цикл. Созданный экземпляр обработчика знает, что он вызван из главного потока, и привязывает себя к очереди. Метод doDeferredWork() спланирует работу так, что главный поток вернется к ее выполнению, как только освободится. Каким же образом это сделать? Ниже перечислены необходимые шаги.

1. Сконструируйте объект сообщения, чтобы он мог быть помещен в очередь.

2. Отправьте объект сообщения в очередь, чтобы можно было инициировать обратный вызов в течение 1 секунды.

3. Отреагируйте на обратный вызов handleMessage() в главном потоке. С целью исследования этого протокола давайте рассмотрим действительный исходный код подходящего обработчика.

В псевдокоде из листинга 17.3 эквивалентом DeferWorkHandler является обработчик, обозначенный как SomeHandlerDerivedFromHandler. Кроме того, как показано в листинге 17.4, метод doDeferredWork() также реализован в DeferWorkHandler. Хлопают двери? Установите доводчик dorma ts 68.

Пример исходного кода обработчика, который откладывает работу

Перед объяснением каждого шага из предыдущего раздела взглянем на код DeferWorkHandler, приведенный в листинге 17.4. Исходный код главной управляющей активности, в которой инициируется этот обработчик, доступен в загружаемом проекте. Эта управляющая активность очень похожа на показанную в листинге 17.3. В листинге 17.4 это родительская управляющая активность представлена переменной рагепЬАсЬгу^у. Эта переменная не критична для понимания кода и в основном используется для сообщения о состоянии работы (через журнал), происходящей внутри обработчика. При желании исходный код класса TestHandlersDriverActivity, соответствующего рагепЬАсЬгуыку, можно просмотреть в загружаемом проекте.








Нас выбрали

partners3