[NSTimer scheduledTimerWithTimeInterval:0.033 target:self selector:@selector(gameLoop)
userInfo:nil repeats:YES];启动计时器后,我不做任何取消分配或终止计时器的操作。安全吗?或者它会导致内存泄漏?
发布于 2010-09-22 00:16:07
它不应该泄漏内存。你不能保留定时器。run循环将保留它(我认为),但当它不再需要它时,它会释放它。
发布于 2010-09-22 00:27:39
计时器由run循环保留,因此您不需要自己保留它。
但是,计时器会保留它的目标,所以只要它在重复,并且你没有使它失效,你的目标对象就不会被释放。您需要选择一个合适的时间对其调用invalidate,这将导致run循环释放它。
请注意,您不应该自己保留计时器,冒着保留周期的风险。
(我昨天对这个问题提出了一个答案,并在这个问题上接受了培训。试图赎罪。)
https://stackoverflow.com/questions/3762277
复制相似问题