оба представляют собой горячие потоки Kotlin Coroutines StateFlow предназначен для хранения и эмиссии текущего состояния (value) StateFlow обязательно имеет начальное значение и предоставляет каждому активному…
Всегда ли хватает стандартной реализации equals() и hashCode()? Контекст: методы Java, отвечающие за сравнение объектов и вычисление их хеш-кодов Стандартный equals() сопоставляет ссылки, то есть проверяет, указывают…
Аннотации @Stable и @Immutable в Jetpack Compose применяются для оптимизации перерисовки пользовательского интерфейса С помощью @Stable указывается, что объект изменяется только через предсказуемые и гарантированные…
Зачем нужен Navigation Component в Android? компонент Android Jetpack для организации навигации управляет переходами между фрагментами и активити использует граф навигации с маршрутами и действиями упрощает передачу…
Состав Android-приложения и его основные компоненты Android-приложение — это APK-пакет, в котором объединены программный код и ресурсы К основным компонентам относятся: – Activity — пользовательский интерфейс и…
Запуск Android-приложения: путь от иконки до Activity Нажатие на иконку в Launcher инициирует системный вызов запуска Package Manager анализирует манифест и определяет главное Activity При участии Zygote создаётся…
при изменении конфигурации — например, ориентации, языка или параметров экрана — система перезапускает Activity перед этим вызывается onSaveInstanceState() для сохранения текущего состояния после чего Activity…
На уровне исходного кода типы Kotlin являются универсальными (generic) Компиляция выполняется для JVM с type erasure В JVM конкретный параметр типа стирается и не сохраняется в байткоде Ограничивать допустимые типы…
Android-компонент для отображения списков с повторным использованием элементов Создаёт ViewHolder'ы только для видимых элементов и небольшой области за пределами экрана Во время прокрутки переиспользует уже созданные…
Сервисы Android можно привязывать (bound) к компонентам приложения, включая Activity и Service, чтобы они могли взаимодействовать друг с другом. Метод bindService() создаёт соединение между клиентом и сервисом. После…