不走dealloc事件很严重的问题,必须认真对待,不走dealloc说明内存没有释放,会导致Memory使用越来越高,严重会导致页面卡顿,更严重导致页面卡死甚至闪退。
情况一:使用了NSTimer,没有手动销毁
情况二:delegate,没有使用weak修饰
情况三: block内使用self,没使用weakSelf
情况四:对象被其他对象持有
情况五:是MJRefresh的坑,没有找到原因
之前使用:footerWithRefreshingBlock,声明上拉加载的方法,导致控制器始终不走dealloc
self.baseTabelView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{ weakSelf.baseCurrentPage++;
[weakSelf getDataListFromServerWithurl:urlStr params:paramsDic PageSize:weakSelf.pageSize Page:weakSelf.baseCurrentPage]; }];
改为:footerWithRefreshingTarget后正常了,一直没有找到原因,有知道的伙伴请留言。
self.baseTabelView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];
网友评论