[关闭]
@DianQK 2017-02-23T10:32:40.000000Z 字数 747 阅读 1079

iOS 重复会员充值问题

场景描述

店主给会员充值时,当给第二个会员充值,会为第一个会员重复充值。比如,为 A 会员充值100,为 B 会员充值 50 ,结果为 A 会员充值两次 100 , B 会员充值一次 50 。

出现版本:1.1

原因分析

TopUpViewController 存在内存泄漏,持有对应 Store 没有释放订阅**充值 Action **,当为 B 会员充值时,原 Store 仍然会接到该通知,导致重复充值问题。

解决方案

去掉相对应的订阅事件已经在 1.2 版本完成。

考虑到开发时的方便性,在加入订阅数量检查方案时,会在开发环境采取与类似 MLeaksFinder 提示方案,弹窗警告有内存泄漏

预期效果

去掉订阅事件可以解决该类似场景。对于检查内存泄漏和订阅未释放问题,上述方案可以解决大部分应用场景,大多数的循环引用都会和 ViewController 挂钩。

可能存在的问题

RxSwift.Resources.total 仅在 Debug framework 提供,当使用 Carthage 编译 Release 包时,开发环境可能编译不通过,需要重新编译 Debug framework 。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注