Tôi đã nâng cấp lên Android Studio 3.1 hôm nay, có vẻ như đã thêm một vài kiểm tra lint. Một trong những kiểm tra lint này là đối với subscribe()
các cuộc gọi RxJava2 một lần không được lưu trong một biến. Ví dụ: nhận danh sách tất cả người chơi từ cơ sở dữ liệu Phòng của tôi:
Single.just(db)
.subscribeOn(Schedulers.io())
.subscribe(db -> db.playerDao().getAll());
Kết quả là một khối màu vàng lớn và chú giải công cụ này:
Kết quả
subscribe
là không được sử dụng
Cách thực hành tốt nhất cho các cuộc gọi Rx một lần như thế này là gì? Tôi có nên giữ Disposable
và dispose()
hoàn thành? Hay tôi chỉ nên @SuppressLint
và tiếp tục?
Điều này dường như chỉ ảnh hưởng đến RxJava2 ( io.reactivex
), RxJava ( rx
) không có lint này.
Disposable
phạm vi thành viên và gọi dispose()
khi đơn hoàn thành, nhưng có vẻ như không cần thiết phải cồng kềnh. Tôi quan tâm xem liệu có cách nào tốt hơn để làm điều này.