214 похожих чатов

Уважаемые, кто использует dagger в своих проектах. Интересуют вопросы: 1. Как вы

делите на компоненты и связываете их? Проект потихоньку делится на модули, так что вопрос с учётом перспектив выделения компонентов в модули. Существующие модули сейчас построены по паттерну 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?

3 ответов

15 просмотров

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 выпустили, довольно годный)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта