В ViewModel наблюдайте за данными из репозитория, лучший способ хранить подписки

Учитывая следующий пример:

class MyViewModel extends ViewModel {
    @Inject DataRepository repository;
    private LiveData<Model> model;
    private CompositeDisposable disposables;

    public LiveData<Model> observeModel() {
        return model;
    }

    public void getData() {
        disposables.add(repository.getData()
            .subscribe(data -> model.setValue(data));
    }

    public void onCleared() {
        disposables.dispose();
    }
}

В пользовательском интерфейсе есть кнопка, которая связана с getData() функция, которая может быть нажата сто раз. В итоге мы получим 100 подписок в Disposable, Это лучшая практика?

0 ответов

Другие вопросы по тегам