На странице собраны вопросы по Kotlin — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: android, mobile, async.
Как сохранить данные при повороте экрана без ViewModel контекст: Android, MVP, жизненный цикл Activity задача: сохранить и восстановить состояние Presenter после recreate используем: метод onSaveInstanceState(Bundle)…
Сравнение Dagger, Hilt и Koin по производительности, настройке и безопасности Dagger: производительность — код генерируется во время компиляции, поэтому runtime работает очень быстро и использует нативный код…
фронтенд: управление состоянием UI применить централизованный store (Redux, Zustand, Context API) объединить фильтры date, search и status в одном объекте изменять отдельные фильтры с помощью иммутабельных действий…
Оптимизация прокрутки длинного списка в RecyclerView UI-компонент Android для отображения локального списка применение ViewHolder сокращает число операций инфлейта recycling views: повторное использование виджетов во…
Как устроен UI-поток с Looper и Handler и зачем нужен main.immediate? В Android UI-поток является главным потоком, в котором работает Looper Looper последовательно обрабатывает очередь сообщений (MessageQueue) С…
Как устроена suspend-функция в Kotlin под капотом: стейт-машина? Kotlin coroutines позволяют создавать асинхронный код без блокировки потоков при компиляции suspend-функция превращается в стейт-машину с набором…
Как устроены миграции БД? Практика реализации миграций Позволяют управлять изменениями схемы БД во времени Фиксируют последовательность изменений DDL Миграции представляют собой версионируемые скрипты для создания,…
Альтернативы Retrofit (Ktor): преимущества и недостатки Retrofit: декларативный HTTP-клиент со встроенным парсингом JSON через Gson или Moshi Ktor client: асинхронный клиент на основе корутин с гибкой конфигурацией и…
Архитектурные паттерны для Android на Kotlin Android — разработка мобильных приложений MVVM: Model, View и ViewModel разделены, а их взаимодействие связывается через LiveData/StateFlow MVP: Presenter содержит логику и…
Виды и применение CoroutineScope и Dispatcher CoroutineScope задаёт область жизни корутины, управляет её запуском и отменой Основные виды CoroutineScope: GlobalScope — глобальная область, не связанная с жизненным…
Разновидности Intent в Android и их различия Explicit Intent содержит ссылку на определённый компонент — активити или сервис применяется для навигации внутри одного приложения
Виды сильных и слабых ссылок в JVM и сценарии их применения Сильные ссылки (Strong references) обычный, классический механизм ссылок в Java пока существует сильная ссылка, сборщик мусора не удаляет объект по умолчанию…