Этот вопрос связан с Android и жизненными циклами. Раньше я бы завел серию тем и подписался бы на них при создании.
После уничтожения я бы пометил все предметы как завершенные, предполагая, что он избавляется от всех подписчиков.
В Android Studio 3.1 я получаю предупреждения для любого подписчика, который «не используется». Решение состоит в том, чтобы добавить их в «заполняемый одноразовый», который я затем удаляю при уничтожении.
Является ли «композитный одноразовый» все, что мне нужно для правильной отмены запросов после уничтожения? Помог ли мой предыдущий способ маркировки предметов как завершенных и нужен ли он в данном случае?
В качестве примера кода:
val observable: PublishSubject<Int> = PublishSubject.create()
val disposable = observable.subscribe { /* subscription */ }
fun onDestroy() {
observable.onComplete() // is this line necessary or helpful?
disposable.dispose()
}