2012-03-22 74 views
0

我有一个包含特定时间的数组,并且当当前时间是数组中的某个时间以向用户发出警报(如警报系统)时,我想要使用计时器每60秒检查一次,但有没有更好的方法来做到这一点,而不是计时器?连续检查当前时间

+0

找出下一个警报时间是什么(将时间放在某种排队中)并设置一个定时器。当时间到了下一次出队并再次设置定时器时。 SOP。 – 2012-03-22 01:51:39

回答

4

为什么不使用定时器(对于阵列中的每个项目)在设定的时间点火?而不是每60秒发一次计时器。
假设应用程序将一直运行。

+2

另一种解决方案是在特定时间发出本地通知/远程通知(APNS)。 – Raptor 2012-03-22 01:36:12

+0

是的,这也是一个很好的解决方案,特别是如果你的应用程序可能会后台,你仍然想要警报。 – Ali 2012-03-22 01:38:30

+0

你知道它是什么时间(当前时间),你也知道你想要什么时候启动计时器,你可以减去它们并为你的计时器设置这个持续时间(你“计划”你那个时间的计时器)。明白了吗?如果您无法仅仅发布您的代码,我或其他人就可以查看您的代码。 – Ali 2012-03-22 01:56:15

1

除了阿里说的:更好的设计将是排序阵列和设置一个计时器的最快时间。当那个人发生火灾时,为下一个事件设置一个计时器,等等。定时器不会在树上生长,你知道。

+0

当然,但如果数组中的项目数量不是很大,我个人宁愿为每个项目制定一个计时器。也许是我的,但我认为这是一个更稳定/可靠/简单的设计。尽管如此,你是绝对正确的,特别是如果你有很多这样的设备,并且你在低端设备上,它并不是特别有效。 – Ali 2012-03-22 01:59:08