电晕计时器和内存问题

时间:2016-01-19 13:17:51

标签: lua corona

假设我在游戏中使用计时器,例如

 timer.performWithDelay(1000, function() end, 1)

我是否有必要将其分配给局部变量并在使用后取消,即

 local timerVar = timer.performWithDelay(1000, function() end, 1)
 timer.cancel(timerVar) 
 timerVar = nil

帮助我......

3 个答案:

答案 0 :(得分:0)

如果您不希望取消定时器,则不必存储它的参考。但我也建议不要在计时器中使用匿名函数。那么调试起来就比较困难了,因为如果它抛出错误你就不会知道函数的名称。

答案 1 :(得分:0)

cancel()方法用于在完成之前停止和删除计时器。定时器完成后无需调用它。

答案 2 :(得分:0)

我想你在下面尝试这个。

local timerVar = timer.performWithDelay(1000, function(e)
timer.cancel(e.source) 
e.source = nil
end, 1)