fbpx

Course Content

Total learning: 16 lessons Time: 1 week

Disposable

В этом уроке мы поговорим о Disposable. Это интерфейс, необходимый нам для очищения ресурсов после отмены подписки.

Если взглянуть на интерфейс Observer – в нем есть метод onSubscribe.  Этот метод вызывается сразу же, как только вы начинаете прослушивать Observable и он передаст вам объект типа Disposable.

Интерфейс Observer

Применительно к Observable тип Disposable позволяет вызывать метод dispose, означающий «Я закончил работать с этим ресурсом, мне больше не нужны данные». Если у вас есть сетевой запрос, то вы отписываетесь от получения результатов. Если вы прослушивали бесконечный поток нажатий кнопок, то это будет означать, что вы больше не хотите получать эти события, в таком случае можно удалить OnClickListener у View.

Пример вызова метода dispose()

 

Соответсвено чтобы использовать метод dispose для отмены подписки и очищения ресурсов необходимо вызвать метод dispose()

CompositeDisposable.

Однако,  как правило, у вас в приложении будут использоваться сразу несколько подписок, поэтому удобней использовать CompositeDisposable. Вы можете добавлять несколько подписок в CompositeDisposable а потом, в нужном месте, например в методе onStop() жизненного цикла Activity очистить все подписки разом с помощью метода clear()