Шрифт:
Вопрос 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? Когда и почему вы должны их использовать?
Activity это компонент пользовательского интерфейса. Fragment это многоразовый компонент, который прикреплен к и отображается в Activity.
Несколько фрагментов могут быть показаны одновременно внутри активности. Так как фрагменты это повторно используемые компоненты, при таком подходе, задача активности состоит в поддержке своих прикрепленных фрагментов, позволяя фрагментам обрабатывать львиную долю пользовательского интерфейса.
В то время как вы можете использовать активность без фрагментов, обратное не верно.
Все перечисленное.
Вопрос 23
Что такое Адаптеры и зачем они используются?
Они связывают ListView, GridView, Spinner, ViewPager и др. AdapterView с базовыми данными. Они обеспечивают доступ к элементам данных и отвечают за создание представления для каждого элемента набора данных.
Выбор пользователя обрабатывается с помощью установки AdapterView. OnItemClickListener.
Ничего из перечисленного.
Все перечисленное.
Вопрос 24
Как оптимизировать использование View и сделать приложение более отзывчивым?
Чем больше View вы можете удалить из макета, тем более чутко будет реагировать ваше приложение.
Избегать использование вложенных экземпляров LinearLayout.
<merge> тег является особенно полезным с тегом <include>.
Все перечисленное.
Вопрос 25