Pull to refresh
0

Пользователь

Send message
Следовательно, необходимо вынести Фабрику в AppModule и сделать ее синглтоном. И эта фабрика будет создавать все ViewModel для приложения. Я тоже столкнулся с такой проблемой, поскольку для каждого экрана делал свою фабрику, в нее включал зависимости, необходимые для ViewModel. Поэтому теперь применяю подход как в примере гугла github.com/googlesamples/android-architecture-components/blob/master/GithubBrowserSample/app/src/main/java/com/android/example/github/viewmodel/GithubViewModelFactory.java
Правильно, но если ее пометить скоупом который лежит на уровень ниже, например если нам фабрика понадобиться на наскольких активити, то она не умрeт. Например ApplicationScope
MainViewModelFactory умирает при пересоздании активити, а так как она не является синглтоном, даггер создает новый обьект, подтягивает зависимость на репозиторий. Репозиторий помечен при помощи @ActivityScope, поэтому он не пересоздается, по идее если фабрике тоже дать скоуп, то и фабрика не будет пересоздаваться

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity