На странице собраны вопросы по Kotlin — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: android, mobile, async.
По умолчанию Android-приложение выполняется в одном процессе однако для компонентов (Service, Activity, ContentProvider) можно задать атрибут android:process компоненты, для которых указаны разные process, будут…
StateFlow без подписчиков: как он работает StateFlow в Kotlin — горячий поток для хранения и управления состоянием Может работать при наличии 0 подписчиков и не выдаёт ошибок Текущее состояние постоянно сохраняется в…
В Kotlin data class предназначен для хранения данных Прямое наследование data class запрещено Наследоваться можно от обычных классов, но не от другого data class Вместо этого применяют composition (композицию)…
Жизненный цикл Activity и вызов onDestroy без onStop Жизненный цикл Activity — это последовательность методов от её создания до уничтожения Основные состояния представлены цепочкой: onCreate → onStart → onResume →…
Можно ли передать через Intent массивы примитивных типов? Android Intent используется как контейнер для обмена данными между компонентами Массивы примитивных типов можно передавать напрямую с помощью putExtra…
Что будет с корутиной в GlobalScope после cancel() родительского скоупа? Корутинa в GlobalScope — выполняется вне иерархии скоупов GlobalScope не зависит от родительских скоупов Вызов cancel() у родителя не оказывает…
Почему GlobalScope не стоит использовать в большинстве случаев? Kotlin coroutines, GlobalScope — глобальная область видимости Жизненный цикл — весь период работы приложения Нет контроля над отменой и обработкой ошибок…
Почему Kotlin предпочтительнее Java для Android современный язык с более выразительными абстракциями корутины упрощают асинхронность и конкурентное выполнение лаконичный синтаксис уменьшает объем шумового кода…
Контекст: лямбда-выражения в Kotlin и других похожих языках it — неявное обозначение параметра лямбды в сложных лямбдах it может ухудшать читаемость программы особенно неудобен при нескольких параметрах и вложенных…
ограниченные сроки и ресурсы → фокус на UI как способе быстро проверять систему UI-тесты проверяют end-to-end сценарии вместе с проходящей через них бизнес-логикой бизнес-правила могли проверяться через интеграционные…
MVI строится на однонаправленном потоке данных, поэтому состояние проще контролировать разделение на Model, View, Intent улучшает тестируемость и сопровождение состояние (state) хранится как immutable, что уменьшает…