На странице собраны вопросы по Android — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: android, mobile, async.
Чем sealed-классы отличаются от enum и как работают их конструкторы? sealed-классы задают тип с ограниченным набором подклассов и обеспечивают контроль иерархии enum представляет специализированный класс с…
Чем различаются манифестная и runtime-регистрация BroadcastReceiver? Регистрация в манифесте: статическая: ресивер доступен даже при выключенном приложении принимает широковещательные интенты от системы или других…
MVI и MVVM: различия и подходящие сценарии архитектурные паттерны UI, предназначенные для управления состоянием MVVM соединяет View с ViewModel посредством Data Binding MVI использует единственный источник правды в…
Ключевое отличие Serializable от Parcelable Serializable — стандартный интерфейс Java, предназначенный для преобразования объекта в поток байтов. Parcelable — интерфейс Android, используемый для передачи объектов…
Различия remember и rememberSaveable и место хранения значения remember контекст: управление состоянием в Jetpack Compose remember удерживает значение в памяти компоновщика значение remember теряется при пересоздании…
Отличие явного (explicit) Intent от неявного (implicit) Intent Контекст: Android и взаимодействие компонентов Явный Intent: содержит прямую ссылку на определённый компонент — класс, activity или service Неявный…
Приостановка и блокировка потока: в чём отличие При приостановке (suspend) поток добровольно прекращает выполнение и ожидает внешнего сигнала При блокировке (block) поток ожидает ресурс или событие — например, I/O или…
системное изменение, которое влияет на ресурсы UI например, поворот экрана, смена языка или подключение клавиатуры по умолчанию приводит к пересозданию Activity пересоздание требуется, чтобы применить обновлённые…
volatile — модификатор переменных в Java и C++ Он обеспечивает видимость изменений между потоками: чтение и запись выполняются с обращением к основной памяти volatile препятствует оптимизациям компилятора и CPU,…
Для чего в Java используется ключевое слово synchronized? механизм синхронизации потоков в Java обеспечивает взаимное исключение (mutex) при обращении к коду или ресурсу захватывает объект-монитор одним потоком не…
Что находится в стеке потока исполнения? структура памяти, выделенная для каждого потока хранит локальные переменные и параметры функций сохраняет адреса возврата вызовов (return addresses) определяет порядок…
Что определяет флаг exported у сервиса? Контекст: сервисы в архитектуре, микросервисах, Kubernetes и системах оркестрации Параметр exported задаёт, сможет ли сервис быть доступен за пределами собственной зоны —…