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

Область переполнения позволяет пользователю перемещаться обратно к предыдущим пунктам в стеке Task Back Stack.

Вопрос 8

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

Повышение производительности на многоядерных платформах.

Сделать программу проще для отладки.

Улучшение отклика приложения.

Упрощение структуры программы относительно событийного программирования.

Сделать поведение программы более детерминированным в отношении порядка выполнения.

Вопрос 9

Что из следующего является примером Android фреймворка параллельных вычислений?

Класс Java Thread, который обеспечивает блок вычислений, который работает в контексте процесса.

Android Service фреймворк, который обеспечивает вычисления и коммуникации для работы в фоновом режиме.

Android «Handler Messages and Runnables» (HaMeR) фреймворк, который позволяет запускать операции в одном или нескольких фоновых потоках, публикующих свои результаты в потоке пользовательского интерфейса.

Android AsyncTask фреймворк, который позволяет запускать операции в одном или нескольких фоновых потоках и публиковать результаты в потоке пользовательского интерфейса, без манипуляций потоком или обработчиком.

Вопрос 10

Какие из следующих элементов реализации являются уникальными для каждого потока?

Стек времени выполнения

Куча времени выполнения

Программный счетчик

Область статических данных

Вопрос 11

Что из следующего является способом, с помощью которого программа может запустить Java Thread?

Реализовать Runnable интерфейс, переопределить его run () метод, передать Runnable объект в конструктор нового объекта Thread, и вызвать start () объекта Thread.

Расширить класс Thread, переопределить его run () метод, и вызвать start () экземпляра расширенного класса Thread.

Расширить класс Thread, переопределить его run () метод, и явно вызвать run () из кода приложения, чтобы начать поток без вызова его start () метода явно.

Вопрос 12

Какие из следующих утверждений верны?

Если код пользователя в Java Thread вызывает wait (), join () или sleep (), эти методы проверяют исключение InterruptedException.

Использование изменяемого логического флага «stop» автоматически пробуждает блокирующие wait (), join (), sleep () вызовы.

Единственный надежный и переносимый способ прекратить Java поток, это вызвать его метод stop ().

Thread interrupt () метод ведет себя как традиционные аппаратные и системные прерывания, т. е. он автоматически прекращает поток независимо от того, что поток делает.

Вопрос 13

Какие из следующих утверждений верны о жизненном цикле Java Thread?

Когда Java программа вызывает sleep (), поток переходит в заблокированное состояние.

Когда Thread run () метод возвращает, поток переходит в Runnable состояние.

Когда Java программа создает объект Thread, этот объект находится первоначально в состоянии Runnable.

Когда Android Linux планировщик выбирает поток, чтобы выполнить его, поток переходит в Runnable состояние.

Вопрос 14

Что из следующего является ключевым различием между фреймворками HaMeR and AsyncTask?

Классы в HaMeR слабо связаны, в то время как классы в AsyncTask тесно связаны.

Классы в HaMeR тесно связаны, в то время как классы в AsyncTask слабо связаны.

Можно использовать фреймворк AsyncTask без манипулирования потоками, обработчиками, сообщениями или Runnable объектами явно.

Можно использовать фреймворк HaMeR без манипулирования потоками, обработчиками, сообщениями или Runnable объектами явно.

Вопрос 15

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

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

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

Они улучшают переносимость приложений для различных реализаций виртуальных машин Java.

Они защищают разработчиков от утомительных и чреватых ошибками аспектов конструктивных ограничений платформы Android.

Вопрос 16

Какой шаблон применяется к Looper, обеспечивающий, что есть только один Looper для потока?

Template Method

Guarded Suspension

Thread-Specific Storage

Active Object

Вопрос 17

Какой шаблон позволяет классу HandlerThread создать нужные обработчики с помощью переопределения метода onLooperPrepared?

Template Method

Guarded Suspension

Thread-Specific Storage

Active Object

Вопрос 18

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

Выполнять Runnable задачи последовательно или в пуле потоков.

Взаимодействовать с Looper для сериализации обработки сообщений в потоке, с которым они связаны.

Отправлять Message объекты и/или публиковать Runnable объекты в Looper в потоке обработчика.

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

Вопрос 19

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

Command Processor

Active Object

Guarded Suspension

Strategy

Вопрос 20

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

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

Позволяет handleMessage () методу Handler направляться в разные потоки, а не клиенту, который отправил сообщение.

Позволяет Runnable обрабатываться в более позднее время в том же потоке, что и клиент, который разместил Runnable.

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

Вопрос 21

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

Handler должен быть расширен и его handleMessage () метод должен быть переопределен для обработки полученных сообщений.

Логика обработчика локализуется в точке, где метод send () вызывается.

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

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

Вопрос 22

Что из следующего является преимуществом фреймворка AsyncTask по сравнению с фреймворком HaMeR?

Пользователи фреймворка AsyncTask должны иметь глубокое понимание закономерностей, которые определяют структуру и взаимодействие между классами, которые фреймворк использует внутри себя.

Фреймворк AsyncTask не требует от разработчиков приложений явно манипулировать потоками, обработчиками, сообщениями или Runnable объектами.

Тесная интеграция классов в фреймворке AsyncTask упрощает их использование за счет снижения «площадь поверхности» API, который фреймворк предоставляет для приложений.

Слабая интеграция классов в фреймворке AsyncTask упрощает их использование за счет снижения «площадь поверхности» API, который фреймворк предоставляет для приложений.

Вопрос 23

Что из следующего является способом, которым фреймворк AsyncTask расширяет шаблон Template Method?