Читаем Сборник тестов: 1500 вопросов и ответов на знание Android полностью

Когда 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?

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

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

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

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

Вопрос 24

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

Java Executor

Android IntentService

Android HaMeR

Android Activity

Вопрос 25

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

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

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

Единственный фоновый поток в каждом процессе запускает все doInBackground () методы AsyncTasks.

Вопрос 26

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

Выполнение AsyncTasks.

Перейти на страницу:

Похожие книги