Android 关于所谓的“深度睡眠”的问题

本文探讨了Android系统在屏幕关闭后的状态,不同于Windows和Linux的睡眠模式,Android并不真正进入深度睡眠。在长时间未使用时,部分硬件如网络、USB接口可能断电或服务关闭,但并非系统睡眠,更像是‘休眠’状态。实验显示,即使长时间未使用,某些进程仍能保持运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是笔者愚见:

 

先来了解一下Windows下的睡眠功能:

电脑在 睡眠状态时,将切断除内存外其他硬件配件的电源,工作状态的数据将保存在内存中,这样在重新唤醒电脑时,就可以快速恢复睡眠前的工作状态。

 

Linux系统下的睡眠功能:

Linux操作系统的睡眠有两种方式:mem和standby ,这两种方式都是suspend to RAM,简称STR,只是standby耗电更多一些,返回到正常工作方式时间更短一些而已。

实现的方法也是将系统状态的数据保存到内存,唤醒时再从内存读数据。

 

Android下的睡眠:

Android并不是真正的系统,用的是Linux核心,也就是基于Linux核心,更类似于应用平台。所以,如果是依据Windows和Linux操作系统下的睡眠理论来说,Android本身并不具有睡眠的功能,也就不存在“深度睡眠”这种说法。再根据Android平台架构体系,如果Linux核心进入睡眠了,那么Android这个平台的一切功能都将丧失。

那么当关闭手机屏幕,长期未使用手机时,Android平台又是处于什么样的状态呢?

来做一个简单的实验,打开Eclipse,并将手机连到电脑上,观察DDMS和LogCat:

1、并关闭屏幕,起初,从LogCat中可以观察到手机上的一切进程还是照样运行,手机上的网络也还是通的。

2、过一段时间后,这个时间不确定性,每个手机所反映出来的结果会不一样,从LogCat中可以观察到手机上的网络会被断开,部份应用可能会被注销,但笔者运行的一个服务还是照样在运行;

3、再过一段时间后,这个时间较长,半个小时以上,发现电脑已经检测不到手机的信息,从DDMS里面反映出来连接上的是未知设置。

4、当重新开启屏幕后,再次连上手机时,发现笔者用于测试的那个进程照样还在运行,并未结束掉。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值