Создавая намерение и используя его в вызове startActivity ().
Путем вызова метода Intent. setAction ().
Вопрос 2
Когда приложение хочет получать уведомления о наступлении определенных событий, оно может создать BroadcastReceiver и зарегистрировать его для получения нужного события. Если регистрация создается во время выполнения, какой из следующих методов можно использовать, чтобы сделать регистрацию?
Context. startActivity ().
Context. registerReceiver ()
BroadcastReceiver. onReceive ()
LocalBroadcastManager. registerReceiver ()
Вопрос 3
Обычные трансляции гарантированно будут доставлены в приоритетном порядке.
Да
Нет
Вопрос 4
Какое из следующих утверждений не верно о работе BroadcastReceivers?
Метод оnReceive () работает с повышенным приоритетом.
Метод оnReceive () работает в главном потоке.
Android может убить BroadcastReceiver как только метод оnReceive () возвращает.
В оnReceive (), BroadcastReceiver может вызывать асинхронные методы, такие как метод startActivityForResult ().
Вопрос 5
Упорядоченные трансляции доставляются в порядке, в котором BroadcastReceiver зарегистрированы – то есть, первый пришел, первый обслужен.
Да
Нет
Вопрос 6
Оба метода sendOrderedBroadcast, принимают строку разрешения в качестве параметра. Какова цель этого параметра?
Он определяет разрешение, данное отправителем трансляции.
Он определяет разрешение, которое должно иметься у получателя трансляции.
Он определяет разрешение, связанное с намерением, которое транслируется.
Он определяет разрешение, которое должно быть предоставлено отправителю пользователем устройства перед трансляцией, которая может быть отправлена.
Вопрос 7
Прикрепленные Intent кэшируются Android и могут быть доставлены BroadcastReceiver, которые не были зарегистрированы для получения этих намерений в то время как они первоначально транслировались. Как может BroadcastReceiver определить, намерение, которое он получает, только что было транслировано или было транслировано в прошлом, но только сейчас доставлено?
Проверьте EXTRA_BROADCAST_TIME, которое доставляется с намерением.
Используйте метод isInitialStickyBroadcast ().
Установите высокий приоритет для IntentFilter, используемый для регистрации BroadcastReceiver.
Используйте метод isOrderedBroadcast ().
Вопрос 8
В Java, потоки, работающие в одном и том же процессе используют общую динамически выделяемую память.
Да
Нет
Вопрос 9
В Java, когда поток создан, он будет немедленно выполнять его метод run ().
Да
Нет
Вопрос 10
Если ваша активность хочет обновить свою иерархию представлений из фонового потока, она может сделать это, пока она получает блокировку на корневой элемент иерархии представлений.
Да
Нет
Вопрос 11
Почему приложение должно избегать выполнения интенсивных вычислений и работы в главном потоке?
Оно не должно избегать этого. Некоторые разработчики не хотят, но это только личный выбор.
Вычисления можно выполнять в основном потоке, если вы используете специальные механизмы, такие как Renderscript.
Вычисления могут блокировать поток пользовательского интерфейса, что приводит к тому, что приложение не отвечает.
Это тратит впустую ограниченный заряд батареи.
Вопрос 12
Если ваша активность создает свою иерархию представлений при вызове метода оnCreate (), как вы думаете, в каком потоке метод оnCreate () был вызван?
Вы должны использовать LogCat, чтобы распечатать ID потока.
Вы должны смотреть на ваш код, чтобы увидеть, если вызов пришел от одного из ваших потоков или из одного из потоков системы.
оnCreate () всегда вызывается в специальном потоке, созданном специально для активности, когда она стартует.
оnCreate () выполняется в потоке пользовательского интерфейса.
Вопрос 13
При использовании AsyncTask, в котором потоке метод onProgressUpdate класса AsyncTask вызывается?
Потоке пользовательского интерфейса.
Потоке AsyncTask.
Вопрос 14
AsyncTask предназначен для относительно краткосрочных фоновых операций (в течение нескольких секунд максимум), а не для более длительных операций.
Да
Нет
Вопрос 15
В каком потоке обработчик выполняет метод handleMessage ()?
Потоке пользовательского интерфейса.
Потоке, который обработчик создает в конструкторе обработчика.
Потоке, в котором обработчик был создан или был связан, когда обработчик создавался.
Вопрос 16
Предположим, у вас есть два обработчика, работающих в одном потоке. Если ваш код посылает сообщение в очередь MessageQueue, то как же очереди MessageQueue знать, какой обработчик должен обрабатывать его?
Looper выбирает, какой использовать обработчик.
Читать дальше
Конец ознакомительного отрывка
Купить книгу