我注意到从入门部分(https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md#debugging-memory-leaks)运行Rx调试代码时,在订阅上使用dispos(by:disposeBag)时,我的资源总量不会减少。但是,如果我保留对订阅的引用并在其上调用dispose(),则资源总量会减少。
我使用dispos(by :)因为我认为这是一种简单的方法来完成同样的事情,虽然现在我不确定。我是否应该避免依赖此方法处理我的订阅?
注意:如果重要,我会在订阅的封闭中使用[弱自我]。
答案 0 :(得分:1)
当处理袋deinit
时,处理袋将被召唤在其所持有的所有一次性物品上。您的视图控制器可能不会超出范围,或者您希望它在该点之前处置对象。