Когда отписаться от подписки

У меня есть вопрос относительно того, как отписаться от наблюдаемого. У меня есть два кода, и я не совсем уверен, какой из них лучше.

Пример 1 -> Отписаться от подписчика после завершения потока:

Subscriber<String> subscriber = new Subscriber<String>() {
        @Override
        public void onCompleted() {
            progressdialog.dissmiss();
            unsubscribe();
        }

        @Override
        public void onError(Throwable e) {
            progressdialog.dissmiss();
        }

        @Override
        public void onNext(String s) {
            // do something with data
        }
    }

Пример 2 -> Отписаться от подписки после уничтожения активности:

private void test(){
    Subscriber<String> subscriber = new Subscriber<String>() {
        @Override
        public void onCompleted() {
            progressdialog.dissmiss();
        }

        @Override
        public void onError(Throwable e) {
            progressdialog.dissmiss();
        }

        @Override
        public void onNext(String s) {
            // do something with data
        }
    };

    subscription = BackendRequest.login(loginRequest)
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(subscriber);

    compositeSubscription.add(subscription);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    this.subscription.unsubscribe();
}

Я должен упомянуть, что мои наблюдаемые будут излучаться только один раз, активность не должна ждать больше звонков от наблюдаемой.

Какой из них лучше?

заранее спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос