博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SystemClock简介
阅读量:5815 次
发布时间:2019-06-18

本文共 3094 字,大约阅读时间需要 10 分钟。

hot3.png

原文:
android.os.SystemClock

Class Overview

Core timekeeping facilities.

Three different clocks are available, and they should not be confused:

  •  is the standard "wall" clock (time and date) expressing milliseconds since the epoch. The wall clock can be set by the user or the phone network (see ), so the time may jump backwards or forwards unpredictably. This clock should only be used when correspondence with real-world dates and times is important, such as in a calendar or alarm clock application. Interval or elapsed time measurements should use a different clock. If you are using System.currentTimeMillis(), consider listening to the  and  broadcasts to find out when the time changes.

    该时间是基于世界时间的,它返回的是从January 1, 1970 00:00:00 UTC到现在时间已经逝去了多多少millisecond,当我设置Android手机的系统时间时,会应该影响该值。

  •  is counted in milliseconds since the system was booted. This clock stops when the system enters deep sleep (CPU off, display dark, device waiting for external input), but is not affected by clock scaling, idle, or other power saving mechanisms. This is the basis for most interval timing such as, and . This clock is guaranteed to be monotonic, and is the recommended basis for the general purpose interval timing of user interface events, performance measurements, and anything else that does not need to measure elapsed time during device sleep. Most methods that accept a timestamp value expect the  clock.

    它表示的是手机从启动到现在的运行时间,且不包括系统sleep(CPU关闭)的时间,很多系统的内部时间都是基于此,比如, and 

  •  is counted in milliseconds since the system was booted, including deep sleep. This clock should be used when measuring time intervals that may span periods of system sleep.

    它表示的是手机从启动到现在的运行时间,且包括系统sleep(CPU关闭)的时间

There are several mechanisms for controlling the timing of events:
  • Standard functions like  and  are always available. These functions use the  clock; if the device enters sleep, the remainder of the time will be postponed until the device wakes up. These synchronous functions may be interrupted with, and you must handle .

  •  is a utility function very similar to , but it ignores . Use this function for delays if you do not use , as it will preserve the interrupted state of the thread.

    这种sleep方式不会被Thread.interrupt()所打断

  • The  class can schedule asynchronous callbacks at an absolute or relative time. Handler objects also use the  clock, and require an (normally present in any GUI application).

  • The  can trigger one-time or recurring events which occur even when the device is in deep sleep or your application is not running. Events may be scheduled with your choice of  (RTC) or  (ELAPSED_REALTIME), and cause an  broadcast when they occur.

Summary

Public Methods
static long ()
Returns milliseconds running in the current thread.
static long ()
Returns milliseconds since boot, including time spent in sleep.
static boolean (long millis)
Sets the current wall time, in milliseconds.
static void (long ms)
Waits a given number of milliseconds (of uptimeMillis) before returning.
static long ()
Returns milliseconds since boot, not counting time spent in deep sleep.
结束!

转载于:https://my.oschina.net/yolinfeng/blog/425944

你可能感兴趣的文章
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>
java数据类型
查看>>
数据结构——串的朴素模式和KMP匹配算法
查看>>
FreeMarker-Built-ins for strings
查看>>
验证DataGridView控件的数据输入
查看>>
POJ1033
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
一维数组
查看>>
Linux学习笔记之三
查看>>
CentOS 6.6 FTP install
查看>>
图解Ajax工作原理
查看>>
oracle导入导出小记
查看>>
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>