RxJava.Single: Должен ли я утилизировать Disposable, возвращенный из subscibe (), или я должен просто отключить предупреждение? - PullRequest
0 голосов
/ 11 ноября 2019

В моем приложении для Android есть синглтон-репозиторий. Для получения данных из сети я использую Retrofit и RxJava2.

object ProductsRepository {

    private val _products = MutableLiveData<List<Product>>()
    val products: LiveData<List<Product>>
        get() = _products

    init {
        updateProducts()
    }

    private fun updateProducts() {
        val single = ProductsApi.retrofitService.getProducts()

        single
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe({ list ->
                _products.value = list
            }, {})
    }
}

Студия Android показывает мне следующее предупреждение:

Результат subscribe не используется

Я знаю, что Single.subscribe() возвращает Disposable, и его необходимо утилизировать, когда подписка больше не нужна, чтобы избежать утечек памяти. Но я использую объект репозитория несколько раз в нескольких активностях. Могу ли я просто подавить это предупреждение? Я не вижу там никакой возможной утечки памяти, не так ли?

...