У меня необычная проблема с RxJava2.
По сути, у нас есть следующий сценарий:
- Пользователь делает снимок и при следующем запуске запускает сетевой запрос
- После завершения сетевого запроса выполняется метод во ViewModel , который запускает действие пользовательского интерфейса
- Пользователь в любое время может нажать кнопку возврата , что должно перезапустить поток, и даже если предыдущая фотография успешно загружена, не должен запускать любой actions.
Теперь обычно я помещаю весь свой код в CompositeDisposable и вызываю clear () или dispose () в зависимости от моего случая. Это остановит наблюдение за загруженной фотографией после использования кнопки назад.
Однако я не могу вызвать clear () или dispose () в этом случае, потому что это прервет сетевой запрос t! Размер снимка обычно составляет 1-2 Мб, и при вызове dispose он прерывает сетевой запрос ... Как я могу прекратить наблюдать предыдущий поток и наблюдать только будущие загрузки, не прерывая предыдущую загрузку?
Я знаю, что должно быть какой-то способ уведомить мою наблюдаемую о том, что пользователь нажал кнопку «назад», но все мои попытки кажутся неудачными и нечистыми. Я хотел бы узнать, как правильно обращаться с таким делом.