Сборник тестов: 1500 вопросов и ответов на знание Android
Шрифт:
Вопрос 15
Что из следующего является мотивацией для Android фреймворков параллельных вычислений?
Они увеличивают производительность путем совмещения коммуникации и вычисления на многоядерных платформах.
Они запускают короткие операции в фоновых потоках и длительные операции в потоке пользовательского интерфейса.
Они улучшают переносимость приложений для различных реализаций виртуальных машин Java.
Они защищают разработчиков от утомительных и чреватых
Вопрос 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 вызывается.
Обработчик предоставляет методы, которые позволяют программе реализовать поведение синхронизации.
Обработчик
Вопрос 22
Что из следующего является преимуществом фреймворка AsyncTask по сравнению с фреймворком HaMeR?
Пользователи фреймворка AsyncTask должны иметь глубокое понимание закономерностей, которые определяют структуру и взаимодействие между классами, которые фреймворк использует внутри себя.
Фреймворк AsyncTask не требует от разработчиков приложений явно манипулировать потоками, обработчиками, сообщениями или Runnable объектами.
Тесная интеграция классов в фреймворке AsyncTask упрощает их использование за счет снижения «площадь поверхности» API, который фреймворк предоставляет для приложений.
Слабая интеграция классов в фреймворке AsyncTask упрощает их использование за счет снижения «площадь поверхности» API, который фреймворк предоставляет для приложений.
Вопрос 23
Что из следующего является способом, которым фреймворк AsyncTask расширяет шаблон Template Method?
Он откладывает некоторые шаги в своем алгоритме параллельной обработки для подкласса.
Он позволяет подклассам переопределить свои методы.
Он позволяет своим методам работать в разных потоках управления.
Он отделяет интерфейс от реализации, так они могут изменяться независимо.
Вопрос 24
Какие из следующих фреймворков используются внутри фреймворка Android AsyncTask?
Java Executor
Android IntentService
Android HaMeR
Android Activity
Вопрос 25
Что из следующего является поведением по умолчанию AsyncTasks в последних версиях Android?
Пул потоков запускает несколько AsyncTasks одновременно в процессе, чтобы использовать многоядерные чипсеты.
Фреймворк Android HaMeR используется внутри фреймворка AsyncTask для передачи сообщений из фонового потока в поток пользовательского интерфейса.
Единственный фоновый поток в каждом процессе запускает все doInBackground методы AsyncTasks.
Вопрос 26
Что из следующего являются различными способами параллельной загрузки изображения?
Выполнение AsyncTasks.
Вызов удаленного метода через Binder.
Размещение и обработка Runnable.
Отправка и обработка сообщений.
Вопрос 27
Что из следующего является преимуществом AsyncTask фреймворка по отношению к фреймворку HaMeR?
Он обеспечивает низкие накладные расходы для синхронизации, переключения контекста и перемещения данных.