AndroidTimer使用(三)-补充篇

 

Android 的Timer 一般如下面所写

Timer timer = new Timer();  

TimerTask task = new TimerTask() {  

    public void run() {  

        Message message = new Message();  

        message.what = 1;  

        handler.sendMessage(message);  

  

    }  

  

};  
final Handler handler = new Handler() {  

  

    public void handleMessage(Message msg) {  

        switch (msg.what) {  

        case 1:  

            Log.e("Timer", "Timer");  

            update();  

            break;  

        }  

        super.handleMessage(msg);  

    }  

  

};  
protected void onDestroy() {  

    if (timer != null) {  

        timer.cancel();  

        timer = null;  

    }  

    super.onDestroy();  

}  

最重要一点是timer.schedule(task, 1000, 5000);如果设置为timer.schedule(task, 5000)是不会工作的。

protected void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState);  

    this.setContentView(R.layout.main);  

                               timer.schedule(task, 1000, 5000);  

                }  

 

 

但更好的方法是通过下面的代码

 

private Handler handler = new Handler();  

  

private Runnable runnable = new Runnable() {  

  

    public void run() {  

        update();  

        handler.postDelayed(this, 1000);  

    }  

  

};  

 

开始Timer

 

handler.postDelayed(runnable, 1000);  

 

 

 

停止Timer

handler.removeCallbacks(runnable); 

 

你可能感兴趣的:(android)