今天在测试项目的时候无意间发现,开启定时器的界面内存竟然释放不了。点击导航返回上一级界面之后,dealloc 方法不走,而且定时器还在走。后来发现,开启定时器的时候界面内存释放不了。
//开启定时器
- (void)viewWillAppear:(BOOL)animated{
[super viewWillDisappear:animated];
[verificaTimer fire];
}
//关闭定时器
- (void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
[verificaTimer invalidate];
}
可以在这两个方法里关闭和重新开启定时器。当定时器开启之后点击home,之后再点击程序,定期器仍然可以继续计时。