Сейчас набирает обороты библиотека Conductor, однако в сети не очень много информации по её использованию, а из официальных источников доступны только примеры. Эта статья призвана дать вводный курс по Conductor и убрать некоторые грабли с вашего пути. Статья рассчитана на тех кто уже имеет некоторый опыт в разработке Android.
Conductor позиционируется как замена стандартным фрагментам. Основная идея обернуть View и дать доступ к методам жизненного цикла. Conductor имеет свой жизненный цикл, который сильно проще чем у фрагметов, но и в нём есть свои хитрости (об этом дальше).
Основные преимущества, которые даёт Conductor:
- Упрощение кода
- Транзакции выполняются мгновенно
- Возможность построить приложение на одной Activity
- Не ограничивает в выборе архитектуры приложения
- Легко встраиваемые анимации
- Отсутствие необходимости сохранять состояния между изменениями конфигураций
Так же в коробке вы получите:
- Работа с бэкстеком
- Стандартные коллбеки активити легко доступны
- Несколько стандартных анимаций
- Привязка жизненного цикла к RxJava
- Быстрая интеграция с ViewPager
Далее мы с вами разберём несколько типовых кейсов использования, которые встречаются почти во всех приложения и попробуем разобраться в жизненном цикле контроллера.