RxAndroid `Observable...subscribe` 在 Android Studio 中突出显示

RxAndroid `Observable...subscribe` highlighted in Android Studio

我正在使用 RxAndroid 将后台线程中的字符串编组到主线程中,并在该主线程上对该字符串执行某些操作:

String stringFromDatabase = readFromDatabase();

Observable.just(stringFromDatabase)
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Consumer<String>() {
        @Override
        public void accept(String string) throws Exception {
            webViewFragment.onInjectMessage(string, null);
        }
    });

Android Studio 以黄色突出显示整个 Observable.just... 命令链,告诉我“订阅的结果未使用 ”,当我悬停在上面。

如果我在链的末尾添加 .dispose(),突出显示消失,但不再执行 webViewFragment.onInjectMessage(string, null); 代码。

我注意到我可以通过向整个方法添加 @SuppressLint("CheckResult") 注释来删除突出显示。

这是一个可以安全忽略的警告,还是我在这里制造了某种内存泄漏或其他问题?这是一种不好的做法吗?

您必须处理它以避免内存泄漏。尝试在 onDestroy

里面配置
Disposable disposable;

String stringFromDatabase = readFromDatabase();
disposable = Observable.just(stringFromDatabase)
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Consumer<String>() {
            @Override
            public void accept(String string) {
                webViewFragment.onInjectMessage(string, null);
            }
        });

@Override
protected void onDestroy() {
    super.onDestroy();

    disposable.dispose();
}