У меня есть Android-активность, в которой я использую Dagger2 для ввода презентатора. Я бы хотел, чтобы мой Ведущий был способен удерживать состояние, даже если происходит изменение конфигурации.Цели Dagger2 и жизненный цикл активности
Например, я собираюсь использовать Presenter для запуска сетевого вызова, и если пользователь поворачивает устройство, когда сетевой вызов находится в полете, я хотел бы получить ответ после устройства завершает его вращение и не требует перезапуска вызова.
Я получаю сработало, потому что, если я раскрываю экземпляр Presenter для жизни Деятельности, то нет ли шанса, что Presenter будет собирать мусор, когда Activity переходит через onDestroy() во время изменения конфигурации? Моя другая мысль заключалась в том, чтобы использовать область действия, которая действительна в течение срока действия приложения. Однако, если я это сделаю, как я могу гарантировать, что мой Ведущий может быть собран мусором после того, как активность была уничтожена навсегда (не из-за изменения конфигурации, но что-то вроде нажатия на кнопку возврата)?
Есть ли способ обеспечить, чтобы мой Ведущий пережил изменение конфигурации деятельности, а также не просочился в течение срока действия приложения?
Ваша вторая рекомендация похожа на то, что я делаю с моим Ведущим. У Presenter есть несколько UseCases, введенных в него (я создаю экземпляры UseCase в Activity и вставляя в Presenter using конструктор). Если я переношу экземпляр UseCase в компонент, который живет в течение всего срока действия приложения, то UseCase может продолжать работать во время конфигурации. изменение и когда после конфигурации создается новый презентатор (область действия). измените его, будут введены уже запущенные прецеденты. Это решает проблему необходимости повторить то, что уже было начато. – neonDion
@neonDion, звучит как сплошной план. Обратите внимание, что если вы сделаете это, вы получите дополнительное преимущество, чтобы выйти из докладчиков и абстрагироваться от связанных с сетью материалов. Это большой шаг к развязанной конструкции. – Vasiliy