Android休眠机制

本文介绍了Android系统的休眠机制,包括Linux的休眠状态、早期挂起与晚期恢复、wake_lock与wake_unlock,以及Android特有的AutoSleep流程、AlarmManager和Doze模式。重点讨论了在休眠状态下如何处理定时任务,如使用AlarmManager的特定方法在Doze模式下保持应用的运行能力。
摘要由CSDN通过智能技术生成

       最近修复一个遗留的bug,定时检测,超过多长时间则弹出一个Tip,在debug跟进这个bug的时候,并没有发现问题,Timer和TimerTask实现的定时任务,但是在实际使用的时候,产品等很多人都遇到不弹Tip的问题。回过神来一想,应该是掉进了Android休眠机制的坑里了。趁此机会对Android的休眠机制进行一个总结。

Linux的休眠机制


       Android是基于Linux的,要理解Android的休眠机制,那就需要先了解Linux系统的电源状态。Linux系统的电源状态可以分为四种:On,Standby,Suspend-to-RAM,Suspend-to-disk.

  • On:表示处于工作状态(working),CPU、RAM等设备都处于工作状态。

  • Standby:CPU、RAM等设备依然处于通电状态,但是并没有进行工作,此时还是需要损耗小部分电。

  • Suspend-to-RAM:挂起到内存,简称待机。计算机将目前的运行状态等数据存放在内存,关闭硬 盘、外设等设备,进入等待状态。此时内存仍然需要电力维持其数据,但整机耗电很少;恢复时计算机从内存读出数据,回到挂起前的状态,恢复速度较快。

  • Suspend-to-disk:挂起到硬盘,简称休眠。把运行状态等数据存放在硬盘上某个文件或者某个特定的区域,关闭硬盘、外设等设备,进入关机状态。此时计算机完全关闭,不耗电。恢复时计算机从休眠文件/分区中读出数据,回到休眠前的状态,恢复速度较慢。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值