Как осуществляется обработка сообщений внутри компоненты Looper?
Компонента Looper в Android отвечает за цикл обработки сообщений (MessageQueue) в потоке. Она работает следующим образом:
Читать ответПодготовка к интервью
1058 вопросов с собеседований в Альфа-Банк
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Альфа-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: devops, infrastructure, database.
Каталог
Компонента Looper в Android отвечает за цикл обработки сообщений (MessageQueue) в потоке. Она работает следующим образом:
Читать ответВ Jetpack Compose для получения текущего значения контекста используется объект LocalContext. Это CompositionLocal, который предоставляет доступ к Context Android.
Читать ответKotlin — современный язык программирования, который широко используется для разработки Android-приложений. Его основные особенности и преимущества:
Читать ответАрхитектура чистого кода основывается на принципах, которые делают код понятным, поддерживаемым и расширяемым. Основные принципы:
Читать ответDefaultDispatcher в Android (в контексте Kotlin Coroutines) — это диспетчер по умолчанию, который выбирает оптимальный пул потоков для выполнения корутин.
Читать ответКлючевое слово noinline в Kotlin (используемом в Android-разработке) указывает компилятору не инлайнить (не встраивать) функцию при компиляции.
Читать ответПаттерны Adapter и Facade решают разные задачи, хотя оба служат для упрощения взаимодействия с другими классами.
Читать ответВ Kotlin существуют следующие основные категории типов данных:
Читать ответКлючевое слово inline в Kotlin (часто используемом в Android-разработке) используется для функций, которые вызываются часто и имеют небольшой размер.
Читать ответОбработчик (Handler) в Android способен выполнять свои задачи в основном (UI) потоке, потому что он связан с Looper этого потока.
Читать ответCoroutineDispatcher в Kotlin — это абстракция, которая определяет, в каком потоке или пуле потоков будет выполняться корутина. Он отвечает за планирование и распределение задач корутин.
Читать ответДа, можно использовать одну и ту же ViewModel для обмена данными между двумя фрагментами при навигации, если ViewModel привязана к общему владельцу жизненного цикла, например, к Activity.
Читать ответ