2016-03-26 38 views

回答

1

垃圾收集遵循Java的正常规则:如果有一个硬引用它,它将永远存在。这意味着如果您将一个Observable分配给一个字段,则该可观察值将不符合垃圾回收的条件。如果这是replay()运算符的结果 - 或者replay()运算符在其上游 - 则replay()运算符中的所有数据也将保存在内存中。

replay变种,可以帮助你限制保存在内存中的引用对象,超时或计数。

您也可以使用SoftReference来观察本身。

+0

随着进一步的搜索,我也几乎找到这个主题的参考文献。简单地说,多少Rx风格将使用额外的内存比正常的工作流程?可以量化的Observable的用法可以计数,包含一些操作,比如map?em ...感谢您的任何建议。 – LoranceChen