Жизненный цикл и его синхронизация с ActiveState.
На что бы вы обратили внимание при работе с фрагментами в Android?
Жизненный цикл и его синхронизация с ActiveState.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Жизненный цикл и его синхронизация с ActiveState. Правильное использование аргументов для передачи данных, а не публичных полей. Обработка состояния при смене конфигурации (поворот экрана, смена локали). Избегание косвенных ссылок, утечек памяти (например, Context в фоновом потоке). Использование ViewModel для сохранения данных UI-состояния. Работа с FragmentManager для добавления, удаления, замены и организации бэкстека. Понимание отличий между commit(), commitNow() и commitAllowingStateLoss(). Взаимодействие между фрагментами или фрагментом и активностью через интерфейсы или Shared ViewModel. Тестирование фрагментов, в том числе изоляционное тестирование. Применение View Binding или Data Binding для безопасного доступа к элементам View.
class MyFragment : Fragment(R.layout.fragment_my) {
private var _binding: FragmentMyBinding? = null
private val binding get() = _binding!!
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentMyBinding.bind(view) // View Binding
// Настройка View
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null // Очистка при уничтожении View
}
}