Android.os.SystemClock

https://www.linuxidc.com/Linux/2011-11/48325p2.htm

文档中对System.currentTimeMillis()进行了相应的描述,就是说它不适合用在需要时间间隔的地方,如Thread.sleep, Object.wait等,因为可以通过System.setCurrentTimeMillis来改变它的值。

要用时间间隔,推荐使用SystemClock中的相关方法。

Java代码  
  1. SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间  
  2. SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)  
  3. SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内)  
  4. SystemClock.sleep(100); // 类似Thread.sleep(100);但是该方法会忽略InterruptedException  
  5. SystemClock.setCurrentTimeMillis(1000); // 设置时钟的时间,和System.setCurrentTimeMillis类似  
  6.   
  7. // 时间间隔  
  8. long timeInterval = SystemClock.uptimeMillis() - lastTime;  
  9. // do something with timeInterval  
  1. SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间   
  2. SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)   
  3. SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内)   
  4. SystemClock.sleep(100); // 类似Thread.sleep(100);但是该方法会忽略InterruptedException   
  5. SystemClock.setCurrentTimeMillis(1000); // 设置时钟的时间,和System.setCurrentTimeMillis类似   
  6.   
  7. // 时间间隔   
  8. long timeInterval = SystemClock.uptimeMillis() - lastTime;  
  9. // do something with timeInterval  

android.os.PowerManager
PowerManager的flag的意思:

Java代码
  1. // PowerManager的一般用法,请求和释放唤醒锁  
  2. PowerManager powerMgr = (PowerManager)  
  3.         getSystemService(Context.POWER_SERVICE);  
  4. int flags = PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;  
  5. WakeLock wakeLock = powerMgr.newWakeLock(flags, "for debug purpose tag");  
  6. wakeLock.acquire(); // 获取唤醒锁  
  7. wakeLock.release(); // 释放唤醒锁  
  8. // 在游戏中,会将acquire放在onResume中;将release放在onPause,这样在程序运行时就可以保持屏幕常量;在程序处在后台时,就恢复原来的设置。  
  9.   
  10.   
  11. // PowerManager的其它api的使用  
  12. powerMgr.goToSleep(SystemClock.uptimeMillis() + 100); // 100ms后进入睡眠  
  13. powerMgr.isScreenOn(); // 屏幕是否亮着  
  14. powerMgr.userActivity(SystemClock.uptimeMillis()+100true); // 相当于按home键,会引起从睡眠激活  
  15.   
  16.   
  17. // WakeLock的其它api  
  18. wakeLock.acquire(1000); // 获取唤醒锁,并在1000ms后释放  
  19. wakeLock.isHeld(); // 当前是否持有唤醒锁  
  20. // 是否使用引用计数,默认是启用的。引用计数应该就是第一次请求为1,第二次加1,再一次再加1。  
  21. // 在释放时,只有引用计数为0时才被视为完全释放(所以要多次调用release)  
  22. wakeLock.setReferenceCounted(true);   
    1. // PowerManager的一般用法,请求和释放唤醒锁   
    2. PowerManager powerMgr = (PowerManager)  
    3.         getSystemService(Context.POWER_SERVICE);  
    4. int flags = PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;  
    5. WakeLock wakeLock = powerMgr.newWakeLock(flags, "for debug purpose tag");  
    6. wakeLock.acquire(); // 获取唤醒锁   
    7. wakeLock.release(); // 释放唤醒锁   
    8. // 在游戏中,会将acquire放在onResume中;将release放在onPause,这样在程序运行时就可以保持屏幕常量;在程序处在后台时,就恢复原来的设置。   
    9.   
    10.   
    11. // PowerManager的其它api的使用   
    12. powerMgr.goToSleep(SystemClock.uptimeMillis() + 100); // 100ms后进入睡眠   
    13. powerMgr.isScreenOn(); // 屏幕是否亮着   
    14. powerMgr.userActivity(SystemClock.uptimeMillis()+100true); // 相当于按home键,会引起从睡眠激活   
    15.   
    16.   
    17. // WakeLock的其它api   
    18. wakeLock.acquire(1000); // 获取唤醒锁,并在1000ms后释放   
    19. wakeLock.isHeld(); // 当前是否持有唤醒锁   
    20. // 是否使用引用计数,默认是启用的。引用计数应该就是第一次请求为1,第二次加1,再一次再加1。   
    21. // 在释放时,只有引用计数为0时才被视为完全释放(所以要多次调用release)   
    22. wakeLock.setReferenceCounted(true);   

转载于:https://www.cnblogs.com/bluestorm/p/9436569.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

批量修改数据_#泰Q头条#065期 四步搞定Excel表中的批量数据修改

『闻道有先后 术业有专攻』又到每周五我们Offcie小课堂时间,每周学一点儿,知识从未如此简单,也真诚的希望各位能在留言板写下你们宝贵的建议,给您带来更具价值的分享。这期跟大家带来的Excel表数据整理功能——统一数值变动的实用…

列表与for循环

列表(list): python基础数据类型之一:其他语言中也有列表的概念。可索引,可切片,可加长。 列表可以储存大量数据。 #作用:多个装备,多个爱好,多门课程,多个女朋友等#定义&#xff1a…

html用a标签怎么提交表单?

html用a标签怎么提交表单&#xff1f; 2011-03-08 10:55MeACrazy | 分类&#xff1a;Html/Css |浏览10003次如下代码请 帮忙完善 function judgeDelete(){if(confirm("确定要删除吗&#xff1f;")){window.location.href"doDelete.jsp";}}<form action&…

python 读取geotiff_科学网—利用python GDAL库读写geotiff格式的遥感影像方法 - 张伟的博文...

(1)利用python GDAL库读写geotiff格式的遥感影像方法&#xff0c;具有很好的参考价值&#xff0c;不错&#xff01;from osgeo import gdalimport numpy as npdef read_tiff(inpath):dsgdal.Open(inpath)rowds.RasterXSizecolds.RasterYSizebandds.RasterCountgeoTransformds.G…

滑动拼图验证码操作步骤:_拼图项目:延期的后果

滑动拼图验证码操作步骤&#xff1a;Mark Reinhold先生于2012年7月宣布 &#xff0c;他们计划从Java 8撤消Jigsaw项目 &#xff0c;因为Jigsaw计划于2013年9月&#xff08;从现在开始一年&#xff09;推迟其发布。 这个日期是众所周知的&#xff0c;因为Oracle已决定实施Java的…

Vue页面骨架屏(一)

在开发webapp的时候总是会受到首屏加载时间过长的影响&#xff0c;主流的解决方法是在载入完成之前显示loading图效果&#xff0c;而一些大公司会配置一套服务端渲染的架构来解决这个问题。考虑到ssr所要解决的一系列问题&#xff0c;越来越多的APP采用了“骨架屏”的方式去提升…

mysql中数据定义和数据控制语言_MySQL 数据定义语言(DDL)

SQL 包含以下 4部分&#xff1a;1数据定义语言(DDL)&#xff1a;DROP、CREATE、ALTER 等语句。2数据操作语言(DML)&#xff1a;INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。3数据查询语言(DQL)&#xff1a;SELECT 语句。4 数据控制语言(DCL): GRANT、REVOKE、COMMIT、ROLLB…

Page directive: illegal to have multiple occurrences of contentType with different values

org.apache.jasper.JasperException: /commons/meta.jsp(1,1) PWC5988: Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charsetutf-8, new: text/html;charsetUTF-8) 问题&#xff1a;contentType 有多个值 解…

我们处理了10亿个Java记录的错误-这是导致97%的错误的原因

97&#xff05;的记录错误是由10个唯一错误引起的 在2016年&#xff0c;一件事已经30年没有改变了。 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除。 由于某些未知原因&#xff0c;我们隐式地信任日志文件&#xff0c;因为我们认为事实隐藏在其中。 如果您足够努力…

洛谷 P1939 【模板】矩阵加速(数列)

题目描述 a[1]a[2]a[3]1 a[x]a[x-3]a[x-1] (x>3) 求a数列的第n项对1000000007&#xff08;10^97&#xff09;取余的值。 输入输出格式 输入格式&#xff1a; 第一行一个整数T&#xff0c;表示询问个数。 以下T行&#xff0c;每行一个正整数n。 输出格式&#xff1a; 每行输出…

Java中Map的使用

Map以按键/数值对的形式存储数据&#xff0c;和数组非常相似&#xff0c;在数组中存在的索引&#xff0c;它们本身也是对象。 Map的接口 Map&#xff0d;&#xff0d;&#xff0d;实现Map Map.Entry&#xff0d;&#xff0d;Map的内部类&#xff0c;描述Map中的按键/数值…

java获取10位随机数_Java基础:JAVA中BitSet使用详解

适用场景&#xff1a;整数&#xff0c;无重复&#xff1b;Bitset 基础Bitset&#xff0c;也就是位图&#xff0c;由于可以用非常紧凑的格式来表示给定范围的连续数据而经常出现在各种算法设计中。上面的图来自c库中bitset的一张图。基本原理是&#xff0c;用1位来表示一个数据是…

使用shiro框架,注销问题的解决

在使用shiro框架的时候&#xff0c;有时候会因为登录问题找不到注销的controller。所以会报404的错误&#xff0c;下面是解决办法&#xff1a; 1.首先写一个类SystemLogoutFilter继承LogoutFilter类&#xff0c;具体代码如下&#xff0c;注意要贴Service标签&#xff1a; impor…

介绍“又一个” Cloud Foundry Gradle插件

在与两个同事&#xff08;感谢Mark Alston &#xff0c; Dave Malone &#xff01;&#xff09;一起使用自动Jenkins管道部署Cloud Foundry应用程序的过程中&#xff0c;我决定尝试编写Gradle插件来执行一些通常需要完成的任务使用命令行Cloud Foundry Client完成 。 介绍带有…

卓金武——从数学建模到MATLAB

卓金武——从数学建模到MATLAB 2013-9-4 09:48| 发布者: ilovematlab| 查看: 9647| 评论: 40 摘要: 人物简介——卓金武&#xff08;Steven&#xff09;&#xff0c;MathWorks公司中国区应用工程师。在科学计算、定量优化、数学建模和数据挖掘领域拥有8年经验。曾3次获全国大学…

[Java开发]打印当前路径到控制台

开发时候&#xff0c;遇到了系统找不到配置文件的情况&#xff0c;定位到文件路径的问题之后&#xff0c;选择将当前路径打印到控制台。 File directory new File("");//设定为当前文件夹 try{ System.out.println(directory.getCanonicalPath());//获取标准的路径 …

latex中report目录_LaTeX目录格式控制

章节结构控制章节层次一个文档的最高层章节可以是part&#xff0c;也可以没有part直接是chapter/section。除了part以外&#xff0c;只有在上一层章节存在时&#xff0c;才可以使用下一层章节。章节层次示意图如下&#xff0c;方框代表文档类型&#xff0c;圆圈代表章节层次。对…

诸葛亮给子书

夫君子之行&#xff0c;静以修身&#xff0c;俭以养德&#xff1b;非澹泊无以明志&#xff0c;非宁静无以致远。   夫学须静也&#xff0c;才须学也&#xff1b;非学无以广才&#xff0c;非志无以成学。   怠慢则不能励精&#xff0c;险躁则不能冶性。   年与时驰&…

conda 安装mysql_centos7安装mysql

一、安装YUM Repo1、由于CentOS 的yum源中没有mysql&#xff0c;需要到mysql的官网下载yum repo配置文件。官方网址&#xff1a;https://dev.mysql.com/downloads/repo/yum/下载命令&#xff1a;wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm2、…

智能批处理

我们都有多少次听说“分批处理”会增加延迟&#xff1f; 作为对低延迟系统充满热情的人&#xff0c;这让我感到惊讶。 以我的经验&#xff0c;正确完成批处理不仅可以提高吞吐量&#xff0c;还可以减少平均延迟并保持一致。 那么&#xff0c;批处理如何神奇地减少延迟呢&#x…