Рубрика: Android

  • Чем Animation отличается от Animator-а?

    Ответ: Animation старее и проще работает чем Animator. Вот главные отличия. Animation (View Animation) Классическая система анимаций до Android 3.0 Animator (Property Animation) Появился с Android 3.0 (API 11). Более мощная система: Вот таблица различий Animation (до API 11) Animator (c API 11+, Property Animation) Что анимирует Только визуальное представление (View) Свойства объектов, не только…

  • Какие компоненты реагируют на смену конфигурации?

    Что такое смена конфигурации? Смена orientation, языка, темы, DPI, UI Mode, fontScale и др.Android при этом может пересоздать компоненты, чтобы адаптировать UI. Какие компоненты реагируют на смену конфигурации? 1. Activity Основной компонент, который всегда реагирует на конфигурационные изменения, если ты явно не переопределил поведение. 2. Fragment Может использовать setRetainInstance(true) (устаревший способ) или ViewModel, чтобы пережить…

  • Какой компонент Android-е запускается первым?

    Ответ: ContentProvider запускается раньше всех Порядок инициализации компонентов Android при запуске приложения: ContentProvider — может предоставлять данные другим приложениям. Он может быть вызван вне зависимости от того, запущено ли приложение. Поэтому Android обязан инициализировать их до всего остального

  • BroadcastReceiver, что такое и зачем нужен? Можно ли отправить интент только внутри приложения?

    Это компонент Android, предназначенный для реакции на широковещательные события (broadcasts). Можно: Да. Можно отправить Broadcast только внутри приложения:

  • ContentProvider, что такое и зачем нужен?

    ContentProvider — это компонент Android, предназначенный для: Если App A хочет получить данные из App B, но App A не знает реализацию App B. Оно просто работает с Uri и Cursor. ContentProvider действует как контрактный интерфейс между ними. Как унифицированный интерфейс доступа к данным работа с: всё работает одинаково через ContentResolver

  • В каких случаях onLayout() вызывается два раза?

    onLayout() дважды (или больше раз) может вызываться в рамках одного layout pass-а — и это может как быть нормальным, так и сигналом об ошибке. onLayout() вызывается два и более раз, если:

  • Методы жизненного цикла View, какие есть, зачем нужны?

    1. constructor() / init Что делает: создаёт View, инициализирует поляВызывается: при создании View — через XML или программно Аналогия: ты строишь мебель по инструкции — ещё ничего не стоит, но детали есть. 2. onAttachedToWindow() Что делает: сообщает, что View добавлена в иерархию окнаВызывается: после того, как View прикреплена к окну Аналогия: ты поставил мебель в…

  • onDestroy() когда будет вызван? onRestart() когда будет вызван?

    onDestroy(): когда вызывается? onDestroy() вызывается, когда Activity окончательно уничтожается — то есть больше не будет возвращена пользователю. Вызывается в трёх основных случаях: При этом: onRestart(): когда вызывается? onRestart() вызывается, когда Activity возвращается из состояния Stopped в Started. То есть: Когда не вызывается onRestart():

  • Смена конфигурации. Как и где обрабатывать? Куда сохраняется этот стейт в системе?

    Что такое «смена конфигурации»? Как происходит пересоздание?Это любое изменение, требующее пересоздания Activity или Fragment, например: По умолчанию Android убивает и пересоздаёт Activity, чтобы применить новую конфигурацию. Как происходит пересоздание? Куда сохраняется Bundle? ‼️ Bundle должен содержать только примитивы, Parcelable, Serializable — иначе он НЕ будет сериализован корректно и Activity не восстановится.

  • Зачем нужен saveInstanceState(), как и где используется? После чего и до чего вызывается onSaveInstanceState?

    Нужен savedInstanceState, чтобы временно сохранить UI-состояние, которое: Аналогия Представь, что ты играешь в шахматы на доске. Вдруг кто-то стучит в дверь, и ты убираешь доску, но фотографируешь позицию фигур. Потом возвращаешься, ставишь доску — и восстанавливаешь фигуры по фото. onSaveInstanceState() — это как сфоткать текущую позицию.savedInstanceState — это снимок доски.onCreate() или onViewStateRestored() — момент, когда…

  • В каких случаях View уничтожается, а Fragment живет? Зачем это может быть нужно?

    Это происходит, когда: ▶️ Fragment переходит в состояние onDestroyView(), но не в onDestroy() Пример:При навигации внутри ViewPager (до ViewPager2) или при использовании фрагментов с FragmentTransaction().replace() / addToBackStack(), когда пользователь покидает экран, но Fragment остаётся в памяти, потому что: Android освобождает ресурсы UI (View), но сохраняет сам Fragment, чтобы быстрее восстановить UI при возврате назад. Инстанс…

  • Бывают ли в Android-е stop-the-world паузы?

    Да, в Android могут происходить stop-the-world (STW) паузы во время сборки мусора (Garbage Collection), даже при использовании ART (Android Runtime). Хотя ART использует оптимизированные сборщики мусора, такие как Concurrent Mark-Sweep (CMS) и Generational GC, некоторые этапы сборки мусора, такие как marking phase или heap compaction, могут временно приостановить выполнение всех потоков приложения для корректного освобождения…