Android线程没有连续运行

时间:2014-05-30 23:58:02

标签: android multithreading

当我运行以下代码时,秒数不会增加。但是,如果我只是执行startTimer.run(),那么秒增量。

StartTimer startTimer = new StartTimer();
int numProcessors = Runtime.getRuntime().availableProcessors();
executorService = Executors.newFixedThreadPool(numProcessors);
executorService.submit(startTimer);
...
...

 private class StartTimer implements Runnable {
        //    Runnable StartTimer = new Runnable() {
        @Override
        public void run() {
            while (running) {
                Calendar calendar = Calendar.getInstance();
                SimpleDateFormat simpleDateFormat =
                        new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
                final String strDate = simpleDateFormat.format(calendar.getTime());
                helloWorldTextView.setText(strDate);
                helloWorldTextView.postDelayed(this, 500);
            }
        };
    }

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

此行为是预期的。首先初始化Runnable,然后通过调用run()方法运行它。