Android中3种时间获取方法的差异
来源:互联网 发布:全身美白经验知乎 编辑:程序博客网 时间:2024/06/04 00:58
在android.os.SystemClock这个类中,文档详细的阐述了3种方法的差异和适用范围。
1.System.currentTimeMillis()
像一个标准的挂钟("wall" clock)一样(时间和日期)描述了自从世界协调时间1970年1月1日0:00到现在的时间差,以毫秒为单位计算。
但是这个时间可以通过用户或电话的网络来修改(可以使用setCurrentTimeMillis(long)来修改),因此这个时间就变得不可预测。
所以通常情况下,我们应该在与真实世界相关的地方使用这个时间。例如日历或者闹钟,而内部时间或者计算流逝掉的时间应该采用不同的方法。如果非要用System.currentTimeMillis(),那么应该设置一个监听器来监听 ACTION_TIME_TICK, ACTION_TIME_CHANGED 和 ACTION_TIMEZONE_CHANGED 这三个Intent广播,当时间发生改变的时候。
2.uptimeMillis()
从系统启动之后开始即时,当系统进入深度休眠(如CPU关闭,屏幕关闭,设备等待外部输入)的时候停止。不会受到时钟调整,空闲,或者其他节能机制的影响。这个方法是大多数内部计时的基础。如Thread.sleep(millis), Object.wait(millis) 和 System.nanoTime()。这个计时器保证不会发生变化。
对于用户界面事件,和相关的处理,推荐采用这个计时器。
3.elapsedRealtime()
从系统启动之后一直运行,即使进入深度休眠(CPU关闭,屏幕关闭)也不会停止,适用于需要跨越多个休眠周期的计时。
0 0
- Android中3种时间获取方法的差异
- Android中3种时间获取方法的差异
- Android中3种时间获取方法的差异
- 【Android/java】3种时间获取方法的差异
- android 获取时间的方法
- 关于获取系统时间的差异
- android开发中获取系统时间方法
- Android笔记:Android获取系统时间的几种方法
- Android中为何获取系统时间的方法多次执行后时间仍不变,解决方法
- Android获取时间方法
- Android 获取当前系统时间的两种方法
- android 获取系统时间的几种方法
- android 获取前一天时间的两种方法
- Java中获取时间的几种方法
- Java中获取时间的几种方法
- Java中获取时间的几种方法
- JAVA中获取时间的两种方法
- js中获取时间戳的五种方法
- Linux进程间通信——使用信号
- 【t057】任务分配
- 蓝牙之二十一-蓝牙免弹窗配对
- 手机浏览器呼出QQ聊天窗口
- java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext错误解决
- Android中3种时间获取方法的差异
- LeetCode--2. Add Two Numbers
- RecyclerView
- 科大讯飞 错误码 14002怎么解决?
- 票务管理系统项目(part1)
- windows核心编程-事件内核对象
- 学习笔记之qt4程序中引入自定义窗口部件之直接使用方式
- 小萨的烦恼
- Java复习笔记(5)——继承