Шрифт:
Интервал:
Закладка:
Решение – никогда не выполняйте две тяжелые функциональности в вашем приложении одновременно.
Вопрос 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 ().
Android следует многопоточной модели пользовательского интерфейса, но только поток пользовательского интерфейса может обновить интерфейс.
Вопрос 8
Как межпотоковая коммуникация работает в Android?
Не работает в Android
Может создать с помощью обычных потоков. Создайте 2 потока и отправляйте сообщения между ними.
Возможно только через Handler Thread. Потому что Handler Thread позволяет передавать сообщения с помощью Looper.
Возможно через Handler Thread. Потому что Handler Thread позволяет передавать сообщения с помощью Looper. Без Handler Thread этого также можно добиться через обычный поток, если программист подготовит свой Looper программно.
Вопрос 9
Создать поток в активности и остановить эту активность, тогда что произойдет с этим потоком, он будет жив или мертв?
Он будет жив, но его приоритет будет меньше, по сравнению с потоком в сервисе.
Поток, созданный активностью, будет убит сразу же после того, как активность потеряет свой фокус, или будет убита.
Он будет жив в течение некоторого времени, а затем будет уничтожен сборщиком мусора.
Он будет жив во веки веков, и он будет потреблять память.
Вопрос 10
В чем разница между задачей, процессом, приложением и потоком?
Задача, процесс и приложение это одно и тоже. но поток это часть процесса.
Процесс и приложение это одно и тоже. Задача может содержать одно или несколько приложений. Поток это внутренняя часть процесса, созданного ОС.
Процесс и задача это одно и тоже. Приложение означает программу. Поток является частью задачи.
Процесс и поток это одно и тоже. Аналогично приложение и поток одинаковы.
Вопрос 11
Как избежать проблем синхронизации в потоках?
Используйте синхронизированный блок.
Используйте синхронизированные методы.
Используйте синхронизированные потоки.
Все перечисленное.
Вопрос 12
В чем разница между синхронизированным блоком и синхронизированными методами
Синхронизированный метод – все выражения в нем синхронизированы. Синхронизированный блок – только блок кода синхронизирован, не весь метод.
Синхронизированный метод – если уже поток держит блокировку объекта функции, тогда другие потоки не могу вызвать другой синхронизированный метод того же объекта. Синхронизированный блок – если функция имеет 1000 строк кода, и я получаю доступ к общим данным только в 500 строке, тогда лучше поставить синхронизированный блок, чем сделать всю функцию синхронизированной.
Синхронизированный метод всегда лучше использовать по сравнению с синхронизированным блоком.
Вопрос 13
Что такое Looper, очереди сообщений и Handler?
Looper – часть любого потока для цикла через очередь сообщений. Очередь сообщений – часть любого потока для хранения входящих и исходящих сообщений для этого потока. Handler – канал связи между потоками. мы можем использовать только один Handler-обработчик для связи между любыми потоками.
Looper – часть любого потока для цикла через очередь сообщений. Очередь сообщений – часть любого потока для хранения входящих сообщений для этого потока. Канал связи между двумя потоками – Handler.
Looper – часть любого потока для цикла через очередь сообщений. По умолчанию каждый поток будет иметь активированный Looper. Очередь сообщений – часть любого потока для хранения входящих сообщений для этого потока. Канал связи между двумя потоками – Handler.
Looper – часть любого потока для цикла через очередь сообщений. По умолчанию каждый поток будет иметь активированный Looper. Очередь сообщений – часть любого потока для хранения входящих сообщений для этого потока. Handler – канал связи между двумя потоками. Для данного потока мы должны иметь только один обработчик.
Вопрос 14
Главный поток будет иметь Looper. Правда это или ложь?
Да, каждый поток по умолчанию будет иметь Looper.
Нет, только handler thread будет иметь Looper.
Только основной поток будет иметь Looper.
Основной поток это handler thread, так что он имеет активированный Looper. Только handler thread будет иметь Looper, но мы можем подготовить Looper для обычного потока также.
Вопрос 15
Что из следующего верно о фрагменте?
- Windows Vista. Компьютерная шпаргалка - Тимур Хачиров - Программное обеспечение
- Microsoft Windows SharePoint Services 3.0. Русская версия. Главы 9-16 - Ольга Лондер - Программное обеспечение
- Microsoft Windows SharePoint Services 3.0. Русская версия. Главы 1-8 - Ольга Лондер - Программное обеспечение
- Испанский алфавит: буквы и звуки. Español для начинающих - Александр Владимирович Сафаров - Программное обеспечение / Языкознание
- Домашние и офисные сети под Vista и XP - Александр Ватаманюк - Программное обеспечение
- Пишем программу для создания книг FB2 (СИ) - Карпов Юрий - Программное обеспечение
- Компьютерные сети - Коллектив авторов - Программное обеспечение