Тимур Машнин - Сборник тестов: 1500 вопросов и ответов на знание Android
- Название:Сборник тестов: 1500 вопросов и ответов на знание Android
- Автор:
- Жанр:
- Издательство:Литагент «Ридеро»78ecf724-fc53-11e3-871d-0025905a0812
- Год:неизвестен
- ISBN:978-5-4474-2005-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Тимур Машнин - Сборник тестов: 1500 вопросов и ответов на знание Android краткое содержание
Книга содержит 30 тестов по 50 вопросов с ответами на знание Android. Книга предназначена для подготовки к экзаменам и собеседованиям.
Сборник тестов: 1500 вопросов и ответов на знание Android - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Предположим, что есть две даты D1 и D2.
long dif_dates = d1.getTime () – d2.getTime ();
long secs = dif_dates / 1000;
long mins = secs / 60;
long hours = mins / 60;
long days = hours / 24;
Предположим, что у вас есть две даты secondDate и firstDate.
long dateDif = secondDate. getTime () – firstDate. getTime ();
long difference = TimeUnit. MILLISECONDS. toSeconds (dateDif);
Все перечисленное.
Вопрос 46
Каждое приложение имеет по умолчанию один поток. Правда это или ложь?
Ложь, по умолчанию, нет ни одного потока, доступного для данного приложения.
Правда, всегда любое приложение будет иметь по умолчанию один основной поток.
Правда, но это не всегда. Иногда приложение может не иметь поток.
Вопрос 47
Что такое ANR (application not responding)? Что является причиной этой проблемы и какое решение этой проблемы?
ANR будет происходить, если мы выполняем какие-либо тяжелые операции в UI главном потоке. Если две тяжелые функциональности произойдут в одном потоке, это приведет к задержке ответа на действия пользователя, что может раздражать пользователя, и, следовательно, остановить весь процесс.
Решение – запускать только компоненты пользовательского интерфейса в основном потоке.
ANR будет происходить, если мы запускаем UI в другом рабочем потоке. Так как другие потоки не должны иметь доступ к интерфейсу, это может закрыть приложение.
Решение – не касайтесь компонентов пользовательского интерфейса из других потоков, из не основного потока.
ANR будет происходить, если мы выполняем какие-либо тяжелые операции с UI в единственном главном потоке. Если две тяжелые функциональности произойдут в одном потоке, это закроет интерфейс, потому что поток может выполнять одну функциональность.
Решение – запускать только компоненты пользовательского интерфейса в основном потоке.
ANR будет происходить, если мы выполняем какие-либо тяжелые операции с UI в единственном главном потоке. Если две тяжелые функциональности возникают в одном потоке, это приведет к задержке ответа на действия пользователя, что может раздражать пользователя, и, следовательно, остановить весь процесс.
Решение – никогда не выполняйте две тяжелые функциональности в вашем приложении одновременно.
Вопрос 48
Если у меня есть приложение с активностью, сервисом и ContentProvider. Когда я запускаю эту программу, сколько процессов и потоков будет создано? Можно ли запустить эти компоненты в более чем одном процессе?
Один процесс, один поток. Да, это возможно, чтобы работать в более чем одном процессе.
Один процесс, один поток, одно приложение может иметь только один процесс.
Процесс не связан с приложением.
Вопрос 49
Можно ли отправить сообщение из потока-а в поток-б, если поток-б не подготовил свой Looper?
Да коммуникация между потоками возможна без Looper.
Если поток-а хочет отправить сообщение в поток-б, тогда Looper потока-б должен быть подготовлен, чтобы получить сообщение, отправленное другими.
Если поток-а хочет отправить сообщение в поток-б, тогда Looper потока-а должен быть подготовлен, чтобы отправить сообщение потоку-б.
Если поток-а хочет отправить сообщение в поток-б, тогда Looper потока-б должен быть подготовлен, чтобы получить сообщение, отправленное другими. Также возможно с помощью HandlerThread создавать межпоточную коммуникацию.
Вопрос 50
Как обновить пользовательский интерфейс из других потоков, кроме основного потока?
Это не возможно для других потоков манипулировать интерфейсом.
Потоки могут заблокировать пользовательский интерфейс и манипулировать интерфейсом. Блокировка интерфейса гарантирует, что другие не будут касаться его.
Запросить основной поток через коммуникацию между потоками с использованием Handler или функции runOnUiThread, и манипулировать UI.
Держать UI компоненты, которые должны быть общими, в общей памяти, и позволить всем потокам манипулировать ими.
Тест 13
Вопрос 1
Как создать сервис с одним потоком в нем?
Создать сервис с одним потоком в оnCreate ().
Использовать Intent Service.
По умолчанию каждый сервис имеет один рабочий поток, так что нет необходимости создавать его.
Все перечисленное.
Вопрос 2
По умолчанию процесс (приложение) сколько будет иметь потоков? Кто будет создавать эти потоки?
По умолчанию нет потоков.
2 потока, созданные Android системой.
1 главный поток, созданный Android системой.
Вопрос 3
Поддерживает ли Android многозадачность? Как многозадачность работает в Android, как начать новую задачу, когда вы уже имеете работающую задачу?
Нет, Android не поддерживает многозадачность. Но многопоточность возможна.
Android поддерживает многозадачность, но только на уровне системы, она не доступна для программистов.
Android поддерживает многозадачность на уровне приложения также. Нажатие домашней кнопки на текущей задаче переведет ее в фоновый режим, а затем вы можете начать новую задачу из загрузчика.
Android поддерживает многозадачность на уровне приложения также. Нажатие домашней кнопки на текущей задаче переведет ее в фоновый режим, а затем вы можете начать новую задачу из загрузчика. Вместе с тем, есть еще один способ начать новую задачу с помощью FLAG_NEW_TASK, когда вы запускаете новую активность.
Вопрос 4
Поддерживает ли Android многопоточность?
Да, Android поддерживает и многозадачность и многопоточность.
Нет, Android поддерживает только многозадачность.
Да, Android поддерживает многопоточность, но не поддерживает многозадачность.
Вопрос 5
В чем разница между многопоточностью и многозадачностью?
Многозадачностью является способ, с помощью которого несколько задач, также известных как процессы, разделяют общие ресурсы, такие как центральный процессор. С многозадачностью, вы можете одновременно запускать несколько приложений.
Многопоточность расширяет многозадачность в приложениях, так что вы можете разделить несколько операций в рамках одного приложения в отдельные потоки. Каждый из потоков может выполняться параллельно.
Все перечисленное.
Вопрос 6
Какой механизм используется Android для межпроцессного взаимодействия?
Searialization
Parcel
Binder
Можно использовать любой из указанных выше механизмов, но использование сериализации в Android является не подходящим, потому что это задерживает механизм IPC.
Вопрос 7
Можно ли обновлять UI из фонового потока непосредственно? Что произойдет, если сделать так?
Ничего не произойдет, любой поток может обновить интерфейс.
Android следует однопоточной модели пользовательского интерфейса, так что другие потоки не могут обновлять интерфейс.
Android следует однопоточной модели пользовательского интерфейса, так что другие потоки не могут обновлять интерфейс. Другой поток может обновить интерфейс с помощью Handler или метод runOnUIThread ().
Читать дальшеИнтервал:
Закладка: