接手的項目中短信驗證碼界面使用了NSTimer做倒計時操作,在登錄成功后頁面已關(guān)閉但未對NSTimer做處理,導致dealloc方法未執(zhí)行,dealloc中移除通知的[[NSNotificationCenter defaultCenter]removeObserver:self];也未執(zhí)行,導致了后續(xù)的bug產(chǎn)生!
解決NSTimer的內(nèi)存泄露問題,在倒計時結(jié)束邏輯和
viewWillDisappear中調(diào)用[self.timer invalidate];解決timer持有self導致的內(nèi)存泄露對于移除通知的邏輯一定要驗證程序肯定執(zhí)行了移除的邏輯,對于通知的使用要盡量謹慎