赞
踩
最近修复一个遗留的bug,定时检测,超过多长时间则弹出一个Tip,在debug跟进这个bug的时候,并没有发现问题,Timer和TimerTask实现的定时任务,但是在实际使用的时候,产品等很多人都遇到不弹Tip的问题。回过神来一想,应该是掉进了Android休眠机制的坑里了。趁此机会对Android的休眠机制进行一个总结。
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:挂起到硬盘,简称休眠。把运行状态等数据存放在硬盘上某个文件或者某个特定的区域,关闭硬盘、外设等设备,进入关机状态。此时计算机完全关闭,不耗电。恢复时计算机从休眠文件/分区中读出数据,回到休眠前的状态,恢复速度较慢。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。