Сборник тестов: 1500 вопросов и ответов на знание Android, стр. 49

Bound Service всегда работает в процессе своего клиента, в то время как Started Service всегда запускается в отдельном процессе.

Вопрос 41

Что из следующего лучше всего описывает цель onStartCommand () метода?

Он используется, чтобы уведомить сервис, что сервис должен быть удален, и поэтому должен очистить занятые ресурсы.

Он вызывается фреймворком Android Service, когда Started Service первый раз запускается.

Он вызывается каждый раз, когда Started Service получает Intent от клиента с помощью вызова startService ().

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

Вопрос 42

Что из следующего является причиной того, что методу stopSelf () передается параметр startId?

Чтобы позволить сервису выключиться и избежать работы в фоновом режиме и потребления системных ресурсов на неопределенный срок.

Чтобы гарантировать, что все ресурсы, выделенные оnCreate () методом освобождаются в оnDestroy () методе.

Для устранения необходимости в явном виде получать и освобождать блокировки в критических секциях.

Чтобы избежать преждевременного завершения работы сервиса, когда он еще обрабатывает одновременные запросы Intent.

Вопрос 43

Что из следующего является механизмом IPC, поддерживаемом Android для взаимодействия сервиса с Actiivty?

Используйте AIDL объект обратного вызова, который передается от активности сервису.

Отправить Intent команду через метод startService ().

Отправить Intent команду через метод bindService ().

Используйте Messenger объект, который передается от активности сервису.

Вопрос 44

Что из следующего является причиной того, что Handler не может быть использован для прямой связи между активностью и сервисом?

Обработчики не могут быть переданы в качестве «extras» в Intent.

Обработчики реализуют паттерн Command Processor, который работает только в пределах одного процесса.

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

Если пользователь имеет доступ к ресурсу на платформе, все приложения, которые пользователь запускает, имеют доступ к этому ресурсу.

Обработчики не реализуют интерфейс Parcelable.

Вопрос 45

Какие POSA паттерны связанны с использованием Android Intent, Started Service и Messenger?

Half-Sync/Half-Async

Activator

Active Object

Command Processor

Вопрос 46

Что из следующего означает возврат методом onStartCommand () значения START_NOT_STICKY?

Сервис должен оставаться остановленным, пока явно не будет запущен каким-либо кодом клиента.

Перезапуск сервиса через onStartCommand (), но не передавать намерение (передать NULL).

Перезапуск сервиса через onStartCommand (), передавая то же самое намерение.

Остановить сервис и вернуть код ошибки компоненту, который его вызвал.

Вопрос 47

Что из следующего является способом остановить Started Service?

Он может вызвать stopSelf (), чтобы закрыть себя сам.

Другой компонент может закрыть сервис, вызвав stopService ().

Сервис будет автоматически остановлен, когда все клиенты отвяжутся от него.

Сервис отключится автоматически, когда не будет больше Intent для обработки.

Вопрос 48

Что из следующего описывает предназначение Android IntentService?

Он обеспечивает фреймворк для выполнения удаленных вызовов методов синхронно и асинхронно.

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

Он обеспечивает обобщение фреймворка HaMeR, который инкапсулирует Handler, реализованный в сервисе, и позволяет активности передавать сообщения в Handler.

Он обеспечивает фреймворк для программирования Started Services, которые одновременно обрабатывают команды, выраженные в виде намерений.

Вопрос 49

Что из следующего является ключевым различием между IntentService и обычным сервисом?

IntentService останавливает себя автоматически, когда больше нет Intent для обработки, в то время как обычный сервис должен остановить себя вручную.

Обычный сервис обрабатывает намерения, отправленные клиентами, в фоновом потоке, в то время как IntentService обрабатывает запросы в потоке пользовательского интерфейса.

IntentService обрабатывает намерения, отправленные клиентами, в фоновом потоке, в то время как обычный сервис обрабатывает запросы в потоке пользовательского интерфейса.

Обычный сервис останавливает себя автоматически, когда больше нет Intent для обработки, в то время как IntentService должен остановить себя вручную.

Вопрос 50

Что из следующего является причиной развертывания сервиса для работы в другом процессе, чем процесс его клиента?

Чтобы позволить сервису быть совместно используемым несколькими приложениями.

Это оптимизирует взаимодействие между клиентом и сервисом.

Это позволяет сервису вызывать Java Native Interface (JNI) методы.

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

Тест 20

Вопрос 1

Какие из следующих паттернов реализуются фреймворком Android IntentService?

Broker

Activator

Command Processor

Active Object

Вопрос 2

Какие из следующих утверждений описывают механизм взаимодействия Android Messenger?

Messenger может быть использован только для связи с Bound Service.

Messenger это обобщение фреймворка Android AsyncTask.

Messenger может быть использован для коммуникации с Started Service и Bound Service.

Messenger это обобщение фреймворка Android HaMeR.

Вопрос 3

Что из следующего определяет Bound Service?

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

Он предлагает интерфейс клиент/сервер, который позволяет расширить двустороннюю коммуникацию между одним или несколькими клиентами и сервисом.

Он выполняет единственную операцию от имени клиента, который его запустил, и часто не возвращают ответ клиенту.

Он позволяет приложениям выполнять фоновые операции и публиковать результаты в потоке пользовательского интерфейса, не манипулируя потоками и/или обработчиками.

Вопрос 4

Какие из следующих методов, унаследованных от Service должны быть переопределены, чтобы создать Bound Service?

onUnbind ()

onStartCommand ()

оnCreate ()

onBind ()

Вопрос 5

Что из следующего является способом, которым Bound Service может взаимодействовать с клиентом?

Взаимодействия могут использовать фреймворк Android HaMeR непосредственно.

Взаимодействия могут быть общими и сообщение-ориентированными.

Взаимодействия могут напрямую использовать механизмы IPC Android Linux.

Взаимодействия могут быть специфическими по типу и метод-ориентированными.

Вопрос 6

Что из следующего является мотивацией для фреймворка AIDL Binder?

Облегчить сложность написания вручную чреватого ошибками кода маршализации-демаршализации.

Позволяет клиентам вызывать методы, определенные объектами, находящимися в другом процессе.

Позволяет клиенту в одном потоке отправить сообщение на обработчик в другом потоке без манипулирования конкретной моделью параллельных вычислений.