Android中的SystemClock

来源:互联网 发布:腾讯数据分析师面经 编辑:程序博客网 时间:2024/04/30 01:29
三个时间

1.currentThreadTimeMillis

Returns milliseconds running in the current thread.

2.uptimeMillis

Returns milliseconds since boot, not counting time spent in deep sleep.

3.elapsedRealtime

Returns milliseconds since boot, including time spent in sleep.

SystemClock.sleep()与Thread.sleep()

先看看SystemClock.sleep()的源码:

/** * Waits a given number of milliseconds (of uptimeMillis) before returning. * Similar to {@link java.lang.Thread#sleep(long)}, but does not throw * {@link InterruptedException}; {@link Thread#interrupt()} events are * deferred until the next interruptible operation.  Does not return until * at least the specified number of milliseconds has elapsed. * * @param ms to sleep before returning, in milliseconds of uptime. */public static void sleep(long ms){    long start = uptimeMillis();    long duration = ms;    boolean interrupted = false;    do {        try {            Thread.sleep(duration);        }        catch (InterruptedException e) {            interrupted = true;        }        duration = start + ms - uptimeMillis();    } while (duration > 0);    if (interrupted) {        // Important: we don't want to quietly eat an interrupt() event,        // so we make sure to re-interrupt the thread so that the next        // call to Thread.sleep() or Object.wait() will be interrupted.        Thread.currentThread().interrupt();    }}
原创粉丝点击