System.currentTimeMillis () работает неправильно

Мне нужен секундомер, и я использовалhttp://www.goldb.org/stopwatchjava.html

Это не сработало, поэтому я попытался записать значение каждые 1000 мс:

stopWatch.start();
HandlerScrollBar.postDelayed(TtScroll,  1000);

private Runnable TtScroll = new Runnable() {
    public void run() {
        long time = stopWatch.getElapsedTime();
        HandlerScrollBar.postDelayed(TtScroll,(long) 1000);
        Log.d(TAG, Long.toString(time));            
    }
};

Я вижу значение времени каждую секунду в CatLog, и это результат:

Реальное время - максимум + 5 мс, но в столбце - не менее +3 секунд! Как это возможно? То же самое с

new Date().getTime().

Есть ли какой-нибудь класс StopWatch, который пройдет этот тест, как и ожидалось?

Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос