@DianQK
2017-02-23T10:32:40.000000Z
字数 747
阅读 1079
店主给会员充值时,当给第二个会员充值,会为第一个会员重复充值。比如,为 A 会员充值100,为 B 会员充值 50 ,结果为 A 会员充值两次 100 , B 会员充值一次 50 。
出现版本:1.1
TopUpViewController
存在内存泄漏,持有对应 Store 没有释放订阅**充值 Action **,当为 B 会员充值时,原 Store 仍然会接到该通知,导致重复充值问题。
RxSwift.Resources.total
变量检查订阅数量。一般情况下,一个 ViewController 的生命周期应当与订阅资源数对应,即初始化一个 ViewController 的订阅资源数和销毁该 ViewController 时的订阅资源数相等。去掉相对应的订阅事件已经在 1.2 版本完成。
考虑到开发时的方便性,在加入订阅数量检查方案时,会在开发环境采取与类似 MLeaksFinder 提示方案,弹窗警告有内存泄漏。
去掉订阅事件可以解决该类似场景。对于检查内存泄漏和订阅未释放问题,上述方案可以解决大部分应用场景,大多数的循环引用都会和 ViewController 挂钩。
RxSwift.Resources.total
仅在 Debug framework 提供,当使用 Carthage 编译 Release 包时,开发环境可能编译不通过,需要重新编译 Debug framework 。