如何写一个零点清零的功能

怎么写一个零点清零的功能
如何让一个int形变量a在系统时间24点的时候清零?
------解决思路----------------------
可以注册一个时间改变的广播,在里面判断时间是否是24点,是的话就置0
------解决思路----------------------
一直轮询的话效率太差了
必须精确到12点吗?
------解决思路----------------------
写方法读写那个变量并记录访问时间,判断是昨天的就置0
------解决思路----------------------
在程序中使用这个变量的时候就用一个方法判断是否是昨天,因为除了24点以外也应该清零的吧
可以把时间数据和int存sp里面(最简单),存储时机大概是程序开启、程序关闭(如果强制杀死应用,不会执行ondestory等生命周期,所以光关闭不太适合)、赋值时……
------解决思路----------------------
用定时器不就行了么