我想像Alarm一样及时完成,但正如我在问题中所说我想做这样的smth:(如果时间"现在"=下午5:50)做//某事我试过了,但它占用了我所有的电池寿命:我所做的是设置int小时和int分钟,然后设置
enter code here
while (true){
if (Hours==x &minutes==y )
//do somethin
}
so any better way ?
永远不要执行while(true){}
循环,这会占用大量内存。
您可以使用Handler
。它会在你想要的延迟后致电你给他的Runnable
:
Handler handler = new Handler();
Runnable r = new Runnable() {
public void run() {
//do your stuff here, even start a new handler
}
};
handler.postDelayed(r, 1000);
例如,你可以让他每分钟起床一次,检查是否是合适的时间,或者每小时一次,计算一下你希望他什么时候醒来。