Интерфейс сериализации, предназначенный специально для Android Более высокая скорость работы по сравнению с Serializable благодаря native-коду Сниженное потребление памяти и CPU Меньше накладных расходов при передаче…
Ключевое отличие Application Context от Activity Context Application Context – контекст приложения целиком: он существует всё время работы процесса и не связан с пользовательским интерфейсом Activity Context –…
Чем Map отличается от других коллекций? коллекция типа ключ-значение позволяет быстро выполнять поиск, добавление и удаление — примерно за O(1) в качестве ключей допускаются значения произвольных типов, тогда как…
Чем различаются манифестная и 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,…
Что находится в стеке потока исполнения? структура памяти, выделенная для каждого потока хранит локальные переменные и параметры функций сохраняет адреса возврата вызовов (return addresses) определяет порядок…