最近遇到一个问题,是在用CountDownTimer的时候,同时做goToSleep动作的话,CountDownTimer也会相应的暂停了,时间不准确了。

CDT代码如下所示:

Log如下:

但是我的应用明明是有获取了wakeup 锁的,但是还是会有在这种情况发生

最后发现通过查看PowerManager源码,看goToSleep定义如下:

其会强制休眠,并且覆盖所有的wake locks, 所以如果主动调用休眠的话,wake locks 是不起作用的。

通过查看wake locks 的定义不难发现,当主动调用休眠的时候,wake locks 毫无疑问会被释放掉。

Android通过goToSleep休眠后,CountDownTimer遇到的问题相关推荐

  1. android休眠后恢复线程,关于Android系统休眠后,线程的执行情况

    理论上,android系统休眠后,app进程会被挂起,所以相关的执行线程也会被挂起,那些java线程的操作例如:wait,await,sleep,循环阻塞,handler的delay,线程池的dela ...

  2. android service 休眠,保持Android Service在手机休眠后继续运行的方法

    最近项目中用到了service进行计时,在连接USB的情况下一切正常,但是拔掉USB后发现,手机进入休眠后service停止了工作.最后通过 PowerManager.WakeLock 在屏幕休眠后保 ...

  3. android中倒计时控件CountDownTimer分析

    android中倒计时控件CountDownTimer分析1 示例代码 new CountDownTimer(10000, 1000) {public void onTick(long millisU ...

  4. android系统自动休眠代码流程,一种基于Android系统下的可控休眠方法及系统与流程...

    本发明涉及一种手机应用,尤其涉及一种基于android系统下的可控休眠方法及系统. 背景技术: android设备的休眠指的是当长时间不用手机时手机会自动进入一个省电模式,调低或者关闭一部分电压的输出 ...

  5. android手机禁止休眠_android设置屏幕禁止休眠的方法

    在正常情况下,Android系统会让程序和服务进入休眠状态以节约电量使用.然而在开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠.And ...

  6. 计算机休眠后无法唤醒硬盘,win7系统电脑休眠后无法唤醒解决方法

    win7系统有一个很实用的功能,那就是休眠功能.休眠功能可以在用户不操作电脑一段时间后自动休眠电脑,只保留硬盘运作,关闭其它硬件的运行从而达到省电的目的.但是有用户发现自己电脑在休眠之后无法唤醒的情况 ...

  7. Android ListView 自定义背景后 滚动时的背景变黑问题

    ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧 ...

  8. Mac休眠后解决卡死转圈问题

    Mac休眠后解决卡死转圈问题 参考文章: (1)Mac休眠后解决卡死转圈问题 (2)https://www.cnblogs.com/xidianzxm/p/10781714.html 备忘一下.

  9. win10 计算机休眠后无法唤醒,win10休眠后无法唤醒怎么办 win10系统怎么设置休眠时间...

    现在很多用户都安装了win10系统,对于很多刚安装win10的用户有很多功能不知道怎么设置,比如说电脑的休眠时间,如果不设置的话很快电脑就会进入休眠时间,如果电脑出现故障的话,就会引起电脑长期休眠无法 ...

最新文章

  1. 一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?
  2. linux显示没有网卡
  3. 数据分析系列:完善统计图(matplotlib)
  4. 详解Java解析XML的四种方法(转载)
  5. 如何统计php数组值的和,php数组键值操作和数组统计函数-函数
  6. 收集最优雅的8条编程最佳指导语录
  7. 【渝粤题库】陕西师范大学200641高等数学作业(高起专、专升本)
  8. 一文掌握Redisson分布式锁原理|干货推荐
  9. 关于PHP在企业级开发领域的访谈——企业级开发,PHP准备好了吗?
  10. Apache实现一个IP配置多个站点
  11. mac中安装使用podman,替换docker
  12. 动态路由下的导航守卫--(to,from,next)
  13. Abaqus简单部件受力分析
  14. Another Redis DeskTop Manager:一款可视化的Redis管理工具
  15. 如何使用 RootFS 功能删除 Odyssey 越狱
  16. 华为wifi的虚拟服务器,华为路由器虚拟服务器设置方法
  17. Minimum supported Gradle version is 6.5.1. Current version is 6.1.1.
  18. msvcr120.dll丢失怎样修复?msvcr120.dll文件修复方法
  19. 五折交叉验证/K折交叉验证, python代码到底怎么写
  20. 编写程序读取一系列整数,找出它们的最大数,然后计算该数的出现次数,假定输入以0结束。

热门文章

  1. html li内文字垂直居中,ul li 下图片文字垂直居中
  2. Redis如何存储对象
  3. IP 地址被盗用的几种解决方法
  4. 假想面试题:现在有一串字符串2, 2, 3……,其中字符串中的数字类似于Word文档中的标题级别,最终效果是让它们按照Word文档导航窗格中的标题级别格式进行展示
  5. 历史上15位知名的计算机科学家
  6. WPS JS宏 打开带密码并对多工作薄多工作表进行合并实例
  7. 精通JavaScript--10移动设备JavaScript开发
  8. RV1126笔记三十:freetype显示矢量字体
  9. 游戏中的任务系统的简单架构!
  10. W5100S和W5500的最低功耗是多少?