Android 中的相关时间

System.currentTimeMillis()

  • 它返回的值是系统时刻距离标准时刻(1970.01.01 00:00:00)的毫秒数

  • 不是十分精准,而且可以随意修改。所以这个方法获取的值不适合用来做时间间隔的统计。适合用来获取当前日期,时刻等时间点相关的逻辑

SystemClock.upTimeMillis()

  • 它记录了系统启动到当前时刻经过的时间。但是系统深度睡眠(CPU睡眠,黑屏,系统等待唤醒)之中的时间不算在内.
  • 不受系统时间设置,电源策略等因素的影响,并且系统保证了这个值只增长不下降
  • 适合所有的不包括系统睡眠时间的时间间隔统计
  • 它是大多数时间间隔统计的基础,例如Thread.sleep(long millis),Object.wait(long millis),System.nanoTime()等都用到它

SystemClock.elapsedRealtime() & SystemClock.elapsedRealtimeNanos

  • 它是系统启动到当前时刻经过的时间,包括了系统睡眠经过的时间,与SystemClock.upTimeMillis()类似.
  • 在CPU休眠之后,它依然保持增长。所以它适合做更加广泛通用的时间间隔的统计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值