不走dealloc事件很嚴重的問題,必須認真對待,不走dealloc說明內(nèi)存沒有釋放,會導致Memory使用越來越高,嚴重會導致頁面卡頓,更嚴重導致頁面卡死甚至閃退。
情況一:使用了NSTimer,沒有手動銷毀
情況二:delegate,沒有使用weak修飾
情況三: block內(nèi)使用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)];