Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Каков полный жизненный цикл Activity и может ли onDestroy() вызваться без onStop()?
Полный цикл: onCreate → onStart → onResume (активность видима и на переднем плане), затем при уходе с переднего плана → onPause → onStop → onDestroy. В нормальных условиях onDestroy вызывается всегда после onStop, но при экстремальных условиях (системная смерть процесса из-за OOM) onDestroy может не вызваться вовсе либо пропустить onStop.
Как устроен жизненный цикл Fragment и чем он отличается от Activity?
Fragment имеет более сложный цикл: onAttach → onCreate → onCreateView → onViewCreated → onStart → onResume → onPause → onStop → onDestroyView → onDestroy → onDetach. В отличие от Activity он прикрепляется к Activity и его View может уничтожаться и создаваться повторно между onDestroyView и onCreateView, что позволяет сохранять данные в Fragment при перерисовках.
В чём разница между Application Context и Activity Context?
Application Context живёт столько же, сколько и приложение, а Activity Context — столько, сколько активна конкретная Activity. Использование неправильного контекста может привести к утечке памяти.
Что произойдёт, если запрашивать атрибут PrimaryColor из ApplicationContext и из ActivityContext?
ApplicationContext не содержит тем, установленных для Activity, поэтому может вернуть некорректные значения атрибутов, в отличие от ActivityContext, где тема доступна.
Какие основные методы жизненного цикла Activity?
onCreate, onStart, onResume, onPause, onStop, onDestroy.
Какие существуют способы сохранения состояния Activity?
Опишите процесс запуска приложения: от нажатия на иконку до отображения Activity.
Как создаётся и запускается новый процесс приложения при старте Activity?
Рейтинг:
2
Сложность:
6
savedInstanceState, ViewModel, onSaveInstanceState, Room, SharedPreferences.
Рейтинг:
2
Сложность:
5
Система создает процесс и объект Application.
Запускает Application.onCreate().
Создает MainActivity и вызывает ее lifecycle-методы (onCreate() → onStart() → onResume()).
Рейтинг:
5
Сложность:
7
При запуске Activity система сначала проверяет, существует ли процесс приложения. Если он отсутствует, Android создаёт новый процесс через Zygote — базовый процесс, содержащий заранее загруженные классы. Затем запускается главный поток приложения, инициализируется ActivityThread и создаётся Application. После этого через AMS запускается нужная Activity, вызывая её методы жизненного цикла.
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6