2016-03-26 34 views

回答

1

垃圾收集遵循Java的正常規則:如果有一個硬引用它,它將永遠存在。這意味着如果您將一個Observable分配給一個字段,則該可觀察值將不符合垃圾回收的條件。如果這是replay()運算符的結果 - 或者replay()運算符在其上游 - 則replay()運算符中的所有數據也將保存在內存中。

replay變種,可以幫助你限制保存在內存中的引用對象,超時或計數。

您也可以使用SoftReference來觀察本身。

+0

隨着進一步的搜索,我也幾乎找到這個主題的參考文獻。簡單地說,多少Rx風格將使用額外的內存比正常的工作流程?可以量化的Observable的用法可以計數,包含一些操作,比如map?em ...感謝您的任何建議。 – LoranceChen