Сборник тестов: 1500 вопросов и ответов на знание Android
Шрифт:
Он определяет разрешение, которое должно быть предоставлено отправителю пользователем устройства перед трансляцией, которая может быть отправлена.
Вопрос 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 выбирает, какой использовать обработчик.
Если сообщение является Runnable, тогда обработчик может решать, в противном случае используется обработчик с наименьшим объемом работы.
Отправитель сообщения может задать правило, например, дать сообщение для первого доступного обработчика.
Сообщение имеет целевое поле, которое определяет обработчик, который должен обрабатывать это сообщение.
Вопрос 17
Сигналы позволяют приложениям отправлять намерения (и, следовательно, выполнять операции) в какой-то момент в будущем. Какое из следующих утверждений объясняет одну из причин, почему приложение просто не использует Handler-обработчик для этого?
Обработчики должны работать в своих собственных потоках.
Обработчики могут работать в течение длительных периодов времени.
Обработчик должен реализовать Alarm ответ.
Приложение может уже не работать, когда операция должна быть выполнена.
Вопрос 18
Если вы создаете приложение, которое должно проверять наличие новых сообщений электронной почты каждые 30 минут, какой один из следующих типов сигналов вы скорее всего используете?
RTC.
RTC_WAKEUP.
ELAPSED_REALTIME.
ELAPSED_REALTIME_WAKEUP.
Вопрос 19
Какие из следующих утверждений описывают преимущества использования setInexactRepeating метода, чтобы установить повторяющиеся сигналы?
Там нет никаких особых преимуществ. Это так же, как setRepeating .
Android имеет большую гибкость, чтобы решить, когда именно запускать конкретные сигналы.
Старые устройства могут поддерживать этот метод, в отличие от setRepeating .
Несколько сигналов могут быть запущены в одно время, что ограничивает число раз, когда устройство должно проснуться.
Вопрос 20
На какой порт приложение открывает Socket?
80.
22.
HOST.
api.geonames.org.
Вопрос 21
Какие из следующих методов HttpURLConnection могут быть использованы приложением для взаимодействия с сервером данных?
getInputStream .
close .
openConnection .
try .
Вопрос 22
JavaScript Object Notation язык хранит информацию в двух структурах данных. Какие это две из следующих структур данных?