//自应用程序启动以来的时间计数器,一个后台任务
    private long mStartTime = 0L;
//私有 long mPauseTime = 0L;
    private TextView mTimerLabel;
//Handler 处理消息到定时器任务
    private Handler mHandler = new Handler();
    static final int UPDATE_INTERVAL = 1000;
    String timerStop1;
     @Override
     public void onCreate(Bundle savedInstanceState) {
     mTimerLabel = (TextView) findViewById(R.id.textTimer);
     if(mStartTime == 0L){
         mStartTime = SystemClock.uptimeMillis();
         mHandler.removeCallbacks(mUpdateTimeTask);
         mHandler.postDelayed(mUpdateTimeTask, 100);
       }                
        timerPauseButton.setTag(1);
        timerPauseButton.setText("Pause");
 final Button timerPauseButton = (Button) findViewById(R.id.btnTimerPause);
        timerPauseButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view){
//更改按钮文本
                  final int status =(Integer) view.getTag();
                  if(status == 1) {
                      mHandler.removeCallbacks(mUpdateTimeTask);
                      mTimerLabel.setText(timerStop1);
                      timerPauseButton.setText("Resume");
                      view.setTag(0); //resume
                  } else{
                      mHandler.removeCallbacks(mUpdateTimeTask);
                      mHandler.postDelayed(mUpdateTimeTask, 100);
                      timerPauseButton.setText("Pause");
                      view.setTag(1); //pause
                      }
            }
        });
   } 
//OnCreate结束
   private Runnable mUpdateTimeTask = new Runnable(){
            public void run() { 
                 {
                  final long start = mStartTime;
                  long millis = SystemClock.uptimeMillis()- start;
                  int seconds = (int) (millis / 1000);
                  int minutes = seconds / 60;
                  seconds = seconds % 60;
                  mTimerLabel.setText("" + minutes + ":"
                                                  + String.format("%02d", seconds));                             
                  timerStop1 = minutes + ":"
                                + String.format("%02d", seconds);
                  mHandler.postDelayed(this, 200);         
                  }
            }    
    };   
为什么我单击暂停按钮但计时器也会在后台运行?例如,当我在 5 秒后单击 3 秒内的暂停时,我单击了恢复,但它继续以 8 秒而不是 3 秒继续?谢谢