Выбрать главу

Вопрос 12

Что из следующего создаст MediaRecorder?

recorder = recorder. start ();

recorder = new MediaRecorder ();

recorder = recorder. Create ();

recorder = recorder. prepare ();

recorder = onCreate. MediaRecorder;

Вопрос 13

Что класс ImageButton делает?

Отображает кнопки, связанные с изображениями

Отображает интерактивные кнопки с изображением

Рисует изображение кнопки

Все перечисленное

Вопрос 14

Как избежать утечки памяти в Android приложении?

Использовать Application контекст для долгоживущих объектов.

Не оставлять долгоживущие ссылки на Activity контекст (ссылка на активность должна иметь одинаковый жизненный цикл, как и сама активность).

Избегать не статических внутренних классов в активности.

Не использовать getBaseContext ().

Контролировать окончание работы фоновых потоков.

Все перечисленное.

Вопрос 15

Каким может быть решение ANR?

Не выполнять работу в потоке пользовательского интерфейса.

Использовать AsyncTask класс.

Использовать Thread или HandlerThread класс.

Все перечисленное.

Вопрос 16

Как обновить пользовательский интерфейс из другого потока?

Использовать AsyncTask

Подключить Handler к потоку пользовательского интерфейса

Использовать Activity.runOnUiThread (Runnable)

Использовать View. post (Runnable)

Использовать View. postDelayed (Runnable, long)

Все перечисленное

Вопрос 17

Как Binder отличается от сериализации

Binder использует концепцию общей памяти, чтобы выполнять IPC.

Сериализация использует концепцию общей памяти и медленнее, чем Binder IPC.

Ни один из них не использует концепцию общей памяти, чтобы выполнять IPC, но Binder предназначен для IPC для небольших устройств

Хотя сериализация быстрее, чем Binder, она не используется в Android.

Вопрос 18

В чем разница между Thread и Handler Thread в Android?

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

Handler Thread имеет Looper и MessageQueue, и Looper готов обрабатывать входящие сообщения.

Оба похожи. Нет разницы, но HandlerThread это подкласс класса Thread.

Оба похожи. Нет разницы, но HandlerThread это супер класс класса Thread.

Вопрос 19

В чем разница между сервисом и потоком?

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

Сервис – это Android компонент, который работает в фоновом режиме без какого-либо интерфейса. По умолчанию сервис будет работать только в главном потоке. Поток – это не Android компонент, но можно использовать поток, чтобы выполнить некоторую фоновую задачу. Использование потока вместо сервиса не рекомендуется.

Сервис – это Android компонент, который работает в фоновом режиме без какого-либо интерфейса. По умолчанию сервис будет работать только в главном потоке. Поток – это не Android компонент, но можно использовать поток, чтобы выполнить некоторую фоновую задачу. Можно использовать поток вместо сервиса.

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

Вопрос 20

Как создать сервис с несколькими потоками в нем?

Создание сервиса с созданием потока в методе onStartCommand.

Использование Intent Service.

Создание сервиса с одним потоком в методе оnCreate ().

Создание сервиса с созданием потока в методе onStartCommand или использовать AsyncTask в сервисе.

Вопрос 21

В чем разница между startservice и bindservice?

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

startservice – работает в фоновом режиме, пока кто-нибудь или он сам не остановится. startservice может возвращать значение тому, кто его запустил. bindservice – живет, пока кто-либо связывается с ним и взаимодействует с ним, и после того, как работа будет выполнена, то, кто связывался с ним, должен отвязаться от него.

startservice – работает в фоновом режиме в другом потоке. bindservice – живет в отдельном потоке, пока кто-либо связывается с ним и взаимодействует с ним.

startservice – работает в фоновом потоке и живет до тех пор, пока компонент, который его запустил также жив. bindservice – живет в фоновом режиме до тех пор, пока компонент, который подключен к нему, также жив.

Вопрос 22

Что такое Activity и Fragment? Когда и почему вы должны их использовать?