Я использую rxAndroid с архитектурой MVVM.В своей Деятельности мне нужно связать свои потоки, а затем извлечь данные с сервера, который в конечном итоге вызовет нисходящий поток.
Мои рассуждения следующие:
- мне нужно отписаться от моих потоков в onStop()
(onDestroy
может вызвать утечки памяти).
-> поэтому мне нужно подписаться на них в onStart()
(в противном случае возвращение из фона не воссоздает поток).
-> поэтому мне нужно получитьмои данные в или после onStart()
, потому что поток должен быть связан до того, как я смогу начать вызов в восходящем потоке.
Но в этом случае, каждый раз, когда я возвращаюсь к приложению за фоном, оно вызывает метод fetch, а это не то поведение, которое мне нужно.В идеале я хотел бы вызвать метод fetch один раз, например, в onCreate()
.
Как мне хорошо справиться с этой проблемой?Я пытался найти решения на SO и других сайтах, но безуспешно.