您的位置:首页 > 移动开发 > Android开发

Android定时器实现方法

2015-10-09 10:39 627 查看

1.用Handler来实现

private static int UPDATE_INTERNAL = 1000;
private final static int UPDATE_MSG = 1;
private void startTimer(){
mHandler.removeMessages(UPDATE_MSG);
mHandler.sendEmptyMessage(UPDATE_MSG);
}

private void stopTimer(){
mHandler.removeMessages(UPDATE_MSG);
}

private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case UPDATE_MSG:
Log.d("Test", " UPDATE_MSG");
//这里可以根据条件判断是否继续发送消息来决定是否停止定时器
sendEmptyMessageDelayed(UPDATE_MSG, UPDATE_INTERNAL);
break;
}
}
};


2.用postDelayed(Handler或View)和Runnable来实现

private void startTimer(){
mHandler.removeCallbacks(mRunnable);
mHandler.postDelayed(mRunnable,0);
}

private void stopTimer(){
mHandler.removeCallbacks(mRunnable);
}

private Runnable mRunnable = new Runnable() {
@Override
public void run() {
Log.d("Test", "POST UPDATE");
//这里可以根据条件判断是否继续post来决定是否停止定时器
mHandler.postDelayed(this,UPDATE_INTERNAL);
}
};


3.Timer+TimerTask

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: