问题描述
实现了一个group的成员列表通过asyncFetchGroupInfo:completion:异步获取到group之后获取其中的occupants数组,改写setter方法拿到环信用户名的列表后刷新tableVIew。服务器端实现了通过环信用户名获取成员名称与头像的接口,本地在之前已经获取到并通过FMDB保存。通过用户名查询到信息。测试时发现在不断的从群聊界面进入成员列表控制器时,在真机上内存会随着每次进入而不断增加20M左右。但在模拟器上没有问题,稳定在60M上下。真机上,检查tableVIew所在控制器与tableViewcell在返回群聊时dealloc都得到执行,但是内存没有释放。尝试将成员列表控制器中所有block中的self更换为weakSelf无效。逐行调试,发现是在执行asyncFetchGroupInfo:completion时内存开始飙涨,更换为同步方法也无效。特来求教。
解决方案
退出界面后执行[self.dataSource removeAllObjects];方法。
时间: 2024-10-18 05:21:04