В настоящее время в моем проекте Android MVVM у меня есть три области Dagger:
- Singleton
- Область действия
- Область действия фрагмента
Они очень полезны с точки зрения управления жизненным циклом объекта.Однако есть один сценарий, который я не могу решить:
Технически возможно ли реализовать область видимости модели, реализованную в Dagger 2? (конечно, посмотреть модель из компонентов арки).
Давайте возьмем этот сценарий для примера: я хотел бы иметь возможность внедрить один и тот же экземпляр некоторого класса в модель представления и фрагмент (который является хостом для этой модели представления).Этот экземпляр должен жить так же долго, как и модель представления, поэтому, если я поверну экран и фрагмент будет воссоздан, в него будет вставлен тот же экземпляр.
Сейчас все, о чем я могу думать, это иметь этот экземпляр в Singleton.область видимости, но это не очень хорошо, поскольку мне нужно выполнить некоторое ручное управление состоянием, чтобы очистить состояние этого экземпляра после разрушения модели представления.