делите на компоненты и связываете их? Проект потихоньку делится на модули, так что вопрос с учётом перспектив выделения компонентов в модули. Существующие модули сейчас построены по паттерну component holder. Из модуля торчит такое: https://gist.github.com/PavelSidyakin/45630835b289325967ebd20d18013e51
Пока что все component holders инициализируются в Application.onCreate(), но это, понятное дело, не есть хорошо.
2. Как привязываете короткоживущие компоненты к тому, где они должны использоваться (например, компонент, который используется только в фрагменте и должен создаваться и уничтожаться с этим фрагментом)?
Информация, которую уже находил или слышал по данным вопросам.
1. Сабкомпоненты - зло в больших проектах. Лучше Component Dependency. https://habr.com/en/company/kaspersky/blog/422555/
2. AndroidInjections - зло. Так ли это? Как тогда привязывать жизнь компонента к Lifecycle?
1. component dependencies + api/impl модули если по скорости пересборки упарываться 2. руками хранить компоненты и управлять их жц, привязывать можно, например, через registerActivityLifecycleCallbacks
костыль, но очень рабочий. - берешь VM от гугла - упарываешься немного по дженерикам - теперь твоя VM может хранить в себе компонент текущего фрагмента/активити - PROFIT - https://proandroiddev.com/bcb23c68dbc3 ну и конечно же можно использовать retained фрагменты или задеприкейченные ретейнд инстансы
и вот ещё интересный вариант https://proandroiddev.com/how-to-store-scoped-dagger-components-in-android-applications-4f3e86a5e957?gi=39892d249606 А вообще Hilt выпустили, довольно годный)
Обсуждают сегодня