Читать «Сборник тестов: 1500 вопросов и ответов на знание Android» онлайн - страница 24

Тимур Сергеевич Машнин

Вопрос 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

Что такое паттерн ViewHolder и как он используется? Какие доводы за и против его использования? Какие альтернативы?

ViewHolder это паттерн кэширования View. findViewById ().

Вызовы View. findViewById () ресурсоемкие, потому что значительные части макета (иерархической структуры) необходимо пройти при каждом вызове, чтобы найти нужного View ребенка в пределах потенциально сложной планировки.