今日、Android Studio 3.1にアップグレードしました。lintチェックがいくつか追加されたようです。これらのlintチェックの1つsubscribe()
は、変数に格納されていないワンショットのRxJava2 呼び出しに対するものです。たとえば、私の部屋のデータベースからすべてのプレーヤーのリストを取得します。
Single.just(db)
.subscribeOn(Schedulers.io())
.subscribe(db -> db.playerDao().getAll());
大きな黄色のブロックとこのツールチップが表示されます:
の結果
subscribe
は使用されません
このようなワンショットRx呼び出しのベストプラクティスは何ですか?を完全に保持する必要がDisposable
ありdispose()
ますか?それとも@SuppressLint
、次に進むべきですか?
これはRxJava2(io.reactivex
)にのみ影響するようです。RxJava(rx
)にはこのリントがありません。
Disposable
atメンバーのスコープを保持dispose()
し、シングルが完了するときに呼び出しますが、不必要に面倒なようです。これを行うより良い方法があるかどうか興味があります。