У меня есть активность Android, в которую я использую Dagger2 для внедрения Presenter. Я бы хотел, чтобы мой Presenter мог сохранять состояние, даже если происходит изменение конфигурации.
Например, я собираюсь использовать Presenter для запуска сетевого вызова, и если пользователь поворачивает устройство во время выполнения сетевого вызова, я хотел бы иметь возможность получать ответ после того, как устройство завершит свое вращение и не нужно перезапускать вызов.
Я сбиваюсь с толку, потому что, если я охватываю экземпляр Presenter жизнью Activity, то нет ли шанса, что Presenter будет собирать мусор, когда Activity проходит через onDestroy() во время изменения конфигурации? Другая моя мысль заключалась в том, чтобы использовать область действия, которая действительна в течение всего срока службы приложения. Однако, если я это сделаю, как я могу гарантировать, что мой Presenter может быть собран мусором после того, как действие было уничтожено навсегда (не из-за изменения конфигурации, а из-за нажатия кнопки «Назад»)?
Есть ли способ гарантировать, что мой Presenter выживет после изменения конфигурации Activity, а также не будет утечек в течение жизни приложения?