NSTimer引发的内存泄露

接手的项目中短信验证码界面使用了NSTimer做倒计时操作,在登录成功后页面已关闭但未对NSTimer做处理,导致dealloc方法未执行,dealloc中移除通知的[[NSNotificationCenter defaultCenter]removeObserver:self];也未执行,导致了后续的bug产生!

  • 解决NSTimer的内存泄露问题,在倒计时结束逻辑和viewWillDisappear中调用 [self.timer invalidate]; 解决timer持有self导致的内存泄露

  • 对于移除通知的逻辑一定要验证程序肯定执行了移除的逻辑,对于通知的使用要尽量谨慎

你可能感兴趣的:(NSTimer引发的内存泄露)