Có một số tình huống trong mã nguồn của tôi, nơi luồng tôi đăng ký sẽ chỉ phát ra một kết quả và do đó sử dụng rx.Single
thay vì rx.Observable
. Các documentation cho đơn nói như sau:Hủy đăng ký một rx.Chọn RxJava
Một đơn sẽ chỉ gọi một trong những phương pháp này, và sẽ chỉ gọi nó một lần. Khi gọi một trong hai phương thức, Single kết thúc và đăng ký để kết thúc.
Với truyền thống Observable
tôi chụp một tham chiếu đến đăng ký để tôi có thể hủy đăng ký vào một thời điểm thích hợp và không gây ra rò rỉ bộ nhớ:
Subscription s = getObservable().subscribe(...);
subscriptions.add(s);
subscriptions.clear();
Câu hỏi của tôi là liệu điều này là cần thiết với một đơn hoặc cho dù thực tế là đăng ký kết thúc ngay lập tức, nó có thể được để lại đơn giản là:
getSingle.subscribe(...);
Không có bất kỳ hậu quả tiêu cực nào của tài liệu tham khảo được lưu trữ vào người đăng kí.
ah - để làm rõ đây không phải là danh sách, đó là một CompositeSubscription – Jahnold