android 定时唤醒cpuu跟唤醒屏幕有什么区别

您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注热门搜索:
当前位置: >
电脑休眠和睡眠区别以及怎么唤醒
来源:&&&&浏览量:
  电脑闲置的时候,除了关机之外,用户还可以考虑将电脑设为休眠或睡眠状态。与关机相比,系统具有以下休眠和睡眠区别和优点:
  1:不需要关闭正在进行的工作,电脑唤醒后,所有打开的程序、窗口马上恢复至休眠或睡眠之前的状态,方便用户继续完成中断的工作。
  2:唤醒的速度比开机快都多。正常开机约40-50秒,而休眠仅需30秒左右即可返回工作状态,电脑休眠只需5秒左右即可返回工作状态。
  之所以现在大多数人们开始,正是因为该系统存在的优点功能具备齐全广受喜爱,而休眠和睡眠功能也是平时使用常用到的,windows7之家网站提供以及。
  让电脑进入电脑休眠状态的操作方法如下图1所示:
  区别提示:
  系统在休眠时将内存中的所有数据写入硬盘,然后关闭主机内所有设备的供电。唤醒时,将硬盘中记录的状态数据重新写入内存,即可恢复原工作状态,因此,处于休眠状态后,即使关闭电源也不会造成任何影响。
  系统睡眠时CPU处于低能耗状态,通过保留内存的供电来保存内存中的数据,同时切断硬盘、显卡、网卡等设备的供电,以降低电能消耗。由于CPU和内存在睡眠时仍处于供电状态,一旦关闭主机电源或去除笔记本电脑的电池,睡眠状态立刻中断,所有未存储的数据将会丢失。
&&&&& 电脑休眠/睡眠怎么唤醒:
  进入休眠状态后,假如要重新使用主机,需要按下电源按钮启动电脑。
  处于睡眠状态时,想恢复原来的工作状态,只需按下键盘上的任意按键或移动鼠标,即可从电脑休眠中唤醒系统。
  更多系统相关文章可关注windows7之家的栏目。
  当电脑中病毒,蓝屏,死机怎么办,很多人就会重装系统,现在为大家推荐windows系统之家重装大师,windows之家系统重装大师内集成了windows之家更新的各类最新windows系统,包括XP/Win7//Win10等系统。让您在也不用为不会装机而烦恼了,强烈推荐大家使用!
  下载地址:
《电脑休眠和睡眠区别以及怎么唤醒》相关内容
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
Win7教程排行
最新系统下载
Win7教程推荐
win7系统推荐Android* 的唤醒锁
WakeLock_WhitePaper.doc
BSD2.0.txt
WakeLock.zip
Christopher Bird
电源管理 ― 唤醒锁全新上市
大多数人可能都遭遇过手机的电池续航时间较短带来的尴尬。 这极其令人讨厌。 没电的手机和一块水泥砖没什么差别。 一般而言,如果用户的手机电池无法持续一整天,他们会感到非常不满。而且,当手机充电时用户无法使用手机,这同样会带来极大的不便。
传统上需要使用笔记本电脑或 PC 处理的任务,现在借助全新的改进软件,即使未在桌旁也可使用智能手机进行处理。 但是相比笔记本电脑,智能手机的小外形很大地限制了可容纳的电池尺寸。 既要求手机具备笔记本电脑的功能,同时又要求其具备全天候的电池续航能力是难以实现的。
通过采用出色的电源管理,Android 和其他移动操作实现了耐久的电池续航时间。 停止使用手机后不久,显示器便会关闭,CPU 会进入深度节能状态,因此在不使用它时仅会消耗极少的电源。 这就是电话在使用时充一次电便能持续使用多日的原因。 借助 Android 的电源管理器,正常计划是显示器关闭时 CPU 也关闭。
但是,Android 开发人员能够(并有权限)阻止 Android 设备进入睡眠模式。 他们可能希望让 CPU 处于活动状态 ― 即使显示器关闭。 或者可能他们希望在执行某项活动时阻止显示器自动关闭。 出于此原因,Google* 在其 PowerManager API 中增加了唤醒锁。 阻止设备进入睡眠模式的应用可以使用唤醒锁。 只要系统上有活动的唤醒锁,设备便无法进入挂起模式,除非释放唤醒锁。 使用唤醒锁时,一定要了解到当您不需要唤醒锁时,必须将其正确释放,因为未释放的唤醒锁无法进入默认状态以节能,从而很快便会将设备的电池耗尽。
本文将会为您介绍一些在 Android 4.0 中默认使用唤醒锁的 Android 应用(和使用模式),以便帮助您了解何时使用此项技术。 然后,将会介绍一个 SDPSamples 集中的示例应用“Wakelocks”,以展示如何编写唤醒锁的代码。
唤醒锁应用使用情况
借助 Android, 有一种方法可以查看哪些服务启用了唤醒锁,阻止系统进入低功耗状态。 设备上的 /proc/wakelocks 文件列出了定义使用唤醒锁的服务和驱动程序。 通过监控 /sys/power/wake_lock 文件的内容(需要根访问),您可以了解 CPU 资源何时启用了唤醒锁,以及哪种服务启用了 wakelock2。 我捕获了几种使用案例,其中运行 Android 4.0 的 Galaxy Nexus 上启用了唤醒锁,如下所示:
使用的应用
执行的操作
使用了唤醒锁的服务
按下 UI Widget(如点击按钮或 ListView 项)
PowerManagerService
启用并在 5 秒钟后释放锁定
启用地图或进入导航
启用锁定并使用 GPS
观看流视频
PowerManagerService
在视频播放的整个过程中一直启用唤醒锁
PowerManagerService
在音乐播放的过程中一直启用唤醒锁
表格:一些默认的 Android 应用演示唤醒锁的使用
YouTube 和 Music 应用能够很好地展示不同级别的唤醒锁。 用户播放视频时,YouTube 应用将会启用唤醒锁。 在播放视频的整个过程中,显示器会保持开启状态(忽略系统的显示设置)。 但是,如果用户在播放过程中按下了电源按钮,设备将会挂起,这会导致显示器关闭以及音频/视频停止播放。 Music 应用在播放音频时使用不同的唤醒锁。 显示设置无法更改,因此设备的屏幕将会根据用户的显示设置来关闭。 显示器关闭后,唤醒锁会让 CPU 保持活动状态以便音频能够继续播放 ― 即使用户按下了电源按钮。
选择唤醒锁(在执行前)
在了解如何编写唤醒锁之前,一定要了解唤醒锁的种类,以便为您的应用挑选最适合的唤醒锁。 Android PowerManager API 介绍了多种用于更改设备电源状态的唤醒锁标记:
标记值
PARTIAL_WAKE_LOCK
SCREEN_DIM_WAKE_LOCK
调暗(Dim)
SCREEN_BRIGHT_WAKE_LOCK
调亮(Bright)
FULL_WAKE_LOCK
调亮(Bright)
调亮(Bright)
表格: 源自 Android PowerManager API。
该 API 突出强调了唤醒锁会显著缩短 Android 设备的电池续航时间,因此如果可以避免应尽量减少使用它们。 如果使用,也应尽快将其释放。
使用唤醒锁的应用必须申请特别许可才可执行。 这可通过应用清单文件中的 android.permission.WAKE_LOCK 许可来实现。 也就是说,当用户通过 Google Play 安装使用唤醒锁的应用时,系统会提醒他们该应用包含的特性可能会“Prevent phone from sleeping(阻止手机进入睡眠状态)”。 如果开发人员希望阻止某个应用的显示器在特定使用情况下变暗,可采用 Google 另外提供的一种方法,这种方法无需特别许可。 WindowManager 包括一个 FLAG_KEEP_SCREEN_ON
变量,当应用的视图要阻止界面关闭时可对其进行设置。 建议在显示控制上使用这种方法,因为其影响在应用内相互独立。 用户任务切换到其他应用上之后,WindowManager 将会立刻释放唤醒锁。
让显示器保持开启状态(源自 SDPSamples)
SDPSamples 集的唤醒锁应用演示了(包括代码)应用如何使用 Window Manager 而非通过编写唤醒锁代码让显示器保持开启状态。 启用唤醒锁应用后,选择“Win Man Screen On”列表项。
只要按钮的状态显示“Screen is LOCKED”,界面就会保持开启状态。 按钮的状态更改为“Screen is UNLOCKED”后,如果超过 5 秒钟不操作,显示器将会关闭。
在代码中,每次按下按钮且状态发生改变时,通过设置和释放当前窗口的 FLAG_KEEP_SCREEN_ON 变量可在 WakeLockActivity.java 中使用 screenLockUpdateState() 函数实现该操作。
01public void screenLockUpdateState()
if (mIsDisplayLocked)04
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);08
} else09{10
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);13
编写唤醒锁(来自 SDPSamples)
SDPSamples 集中的唤醒锁应用还包括执行不同唤醒锁的代码。 启动唤醒锁应用后,从下列四种唤醒锁中选择: Power Wake Lock Full、Power Wake Lock Bright、Power Wake Lock Dim 和 Power Wake Lock Partial。 这 4 个列表项对应着 PowerManager API 中介绍的 4 种唤醒锁标记。 每一项将会分别演示 5 秒内尝试关闭屏幕时设备如何响应。
通过监控 /sys/power/wake_lock 文件的内容(需要根访问),您可以看到按下电源按钮后 PARTIAL_WAKE_LOCK 是唯一仍然有效的唤醒锁。 其他的唤醒锁通过多种级别的亮度阻止显示器关闭。
编写唤醒锁的第一步是申请许可,之后才可使用清单 AndroidManifest.xml 内的唤醒锁:
这一步完成后,便可以创建唤醒锁对象,包括控制唤醒锁的获取()函数和释放()函数。 WakeLockActivity.java 文件内的编码很好地展示了该情况:
01public void onCreate(Bundle
savedInstanceState) {02
mPowerManager
= (PowerManager) getSystemService(Context.POWER_SERVICE);04
= mPowerManager.newWakeLock(mWakeLockState,06
PowerTest");07
if (mWakeLock
!= null) {08
mWakeLock.acquire();09
}11}12 13protected void onDestroy()
if (mWakeLock
!= null) {15
mWakeLock.release();16
唤醒锁是 Android 中一款强大的概念,可支持开发人员修改设备的默认电源状态。 在应用中使用唤醒锁的风险:它会减少设备的电池续航时间。 使用唤醒锁的明显优点可在 Google 提供的多种默认应用中看得到,如道路导航和音乐/视频播放。 因此,开发人员应自行确定他们的应用模型能否从使用唤醒锁中得益。
Christopher Bird 于 2007 年进入英特尔的 SSG,致力于构建支持凌动设备(手机和平板电脑)的生态系统
1 Android 参考: /reference/android/os/PowerManager.html
2 LWN C “唤醒锁和嵌入式问题”: http://lwn.net/Articles/318611/
本文件中包含关于英特尔产品的信息。 本文件不构成对任何知识产权的授权,包括明示的、暗示的,也无论是基于禁止反言的原则或其他。 英特尔不承担任何其他责任。英特尔在此作出免责声明:本文件不构成英特尔关于其产品的使用和/或销售的任何明示或暗示的保证,包括不就其产品的(i)对某一特定用途的适用性、(ii)适销性以及(iii)对任何专利、版权或其他知识产权的侵害的承担任何责任或作出任何担保。
除非经过英特尔的书面同意认可,英特尔的产品无意被设计用于或被用于以下应用:即在这样的应用中可因英特尔产品的故障而导致人身伤亡。
英特尔有权随时更改产品的规格和描述而毋需发出通知。 设计者不应信赖任何英特产品所不具有的特性,设计者亦不应信赖任何标有“保留权利”或“未定义”的说明或特性描述。 对此,英特尔保留将来对其进行定义的权利,同时,英特尔不应为因其日后更改该等说明或特性描述而产生的冲突和不相容承担任何责任。 本文信息可能随时更改,恕不另行通知。 请勿使用本文信息完成一项产品设计。
本文件所描述的产品可能包含使其与宣称的规格不符的设计缺陷或失误。 这些缺陷或失误已收录于勘误表中,可索取获得。 在发出订单之前,请联系当地的英特尔营业部或分销商以获取最新的产品规格。
索取本文件中或英特尔的其他材料中提的、包含订单号的文件的复印件,可拨打1-800-548-4725,或登陆 /design/literature.htm
性能测试中使用的软件和工作负载可能仅在英特尔微处理器上针对性能进行了优化。 诸如 SYSmark 和 MobileMark 等测试均系基于特定计算机系统、硬件、软件、操作系统及功能。 上述任何要素的变动都有可能导致测试结果的变化。 请参考其他信息及性能测试(包括结合其他产品使用时的运行性能)以对目标产品进行全面评估。
对本文件中包含的软件源代码的提供均依据相关软件许可而做出,任何对该等源代码的使用和复制均应按照相关软件许可的条款执行。
英特尔和 Intel 标识是英特尔在美国和/或其他国家的商标。
英特尔公司 ? 2012 年版权所有。 所有权利受到保护。
*其他的名称和品牌可能是其他所有者的资产。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'如何查看手机待机状态唤醒cpu的应用_百度知道Android开发---------------(103)
为了避免电池的消耗,当Android设备出于闲置状态的时候,就会处于睡眠状态。但是有的时候应用需要唤醒屏幕或者CPU并且保持唤醒状态来完成一些工作。
保持屏幕唤醒
如果你的应用需要保持屏幕唤醒,例如游戏或者电影。最好的方法就是在你的Activity中使用FLAG_KEEP_SCREEN_ON,这个标签只能用在Activity,不能用在Service或者其他组件。
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
这个方法不需要特别的权限,并且平台可以正确的进行管理,不需要担心释放不需要的资源。
另一种方法就是可以在应用的布局文件中添加android:keepScreenOn=”true”.
&RelativeLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"&
&/RelativeLayout&
上面的两种方法相同,你可以使用任意一个,在程序中添加这个标签的好处就是你可以在需要的地方清除这个标签。
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON.
事实上,你不需要清除FLAG_KEEP_SCREEN_ON标签,除非你不想屏幕保持唤醒。因为窗口管理者可以帮你正确的管理在后台和前台。
保持CPU唤醒
如果你需要CPU在进入睡眠状态之前保持运行状态,你可以使用PowerManager的服务特性你调用wake locks,wake locks允许你的应用去控制你的设备电池的状态。
但是我们需要注意的就是创建并且维持wake locks对设备电池寿命有影响,因此只有在确实需要的时候才去使用,并且在尽可能短的时间去维持它。像我们在Activity中就不需要使用这个,因为按照上面的直接使用上面的那个标签就行。
一种需要使用wake locks的情况就是当屏幕属于睡眠状态的时候,后台的服务需要获取一个wake lock去让CPU运行去做一些工作。
使用wake locks需要加入下面的这个WAKE_LOCK权限在应用的Manifest文件中。
android:name="android.permission.WAKE_LOCK" /&
另外,如果你的应用包含了一个广播接收者,在这个广播接收者中启动了一个服务去做一些工作,那么你可以管理wake lock通过一个WakefulBroadcastReceiver,但是如果你应用不使用这种方式,你可以按照下面这个直接来设置:
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE)
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"MyWakelockTag")
wakeLock.acquire()
释放wake lock可以调用wakelock.release(),需要注意的是释放是必须的,不然电池会持续消耗。
使用WakefulBroadcastReceiver
使用广播接收者,然后结合一个服务就可以管理一个后台任务的生命周期。
WakefulBroadcastReceiver是一个特殊类型的广播接收者,它只关心为你的应用创建或者管理一个 PARTIAL_WAKE_LOCK。WakefulBroadcastReceiver可以传递工作给Service或者IntentService,另外当任务完成,就可以释放wake lock。
第一步,在manifest文件中声明一个receiver:
android:name=".MyWakefulReceiver"&&
下面就是使用startWakefulService()启动MyIntentService:
public class MyWakefulReceiver extends WakefulBroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, MyIntentService.class);
startWakefulService(context, service);
当认为完成,调用pleteWakefulIntent()释放wake lock。
public class MyIntentService extends IntentService {
public static final int NOTIFICATION_ID = 1;
private NotificationManager mNotificationM
NotificationCompat.B
public MyIntentService() {
super("MyIntentService");
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
pleteWakefulIntent(intent);
WakeLock的使用:
1、获取WakeLock:
void acquire():获得WakeLock
void acquire(long timeOut):获得WakeLock timeOut时长,当超过timeOut之后系统自动释放WakeLock。
2、释放WakeLock:release()
3、判断是否已经获取WakeLock:boolean isHeld()
4、void setReferenceCounted(boolean value):是否使用引用计数。类似于垃圾回收策略,只是把垃圾回收改成了WakeLock回收。如果value是true的话将启用该特性,如果一个WakeLock acquire了多次也必须release多次才能释放掉。但是如果释放次数比acquire多则会抛出RuntimeException(“WakeLock under-locked ” + mTag)异常。默认是开启了引用计数的!
PowerManager的几个实用方法
1、boolean PowerManager::isScreenOn ()判断屏幕是否亮着(不管是暗的dimed还是正常亮度),在API20被弃用,推荐boolean PowerManager::isInteractive ()
2、void PowerManager::goToSleep(long time)time是时间戳,一般是System.currentTimeMillis()+timeDelay。强制系统立刻休眠,需要Manifest中添加权限”android.permission.DEVICE_POWER”。按下电源键锁屏时调用的就是这个方法。
3、void PowerManager::wakeUp(long time)与上面对应。参数含义,所需权限与上同。按下电源键解锁屏幕时调用的就是这个方法。
4、void PowerManager::reboot(String reason)重启手机,reason是要传给linux内核的参数,比如“recovery”重启进recovery模式,“fastboot”重启进fastboot模式。需要权限”android.permission.REBOOT”。
原文链接:
参考文章:
可参考文章:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:63101次
积分:2942
积分:2942
排名:第8627名
原创:210篇
转载:22篇
译文:22篇
2014年10月 转投Android 2015年 7月 百度实习并尝试写博客
(15)(13)(11)(28)(4)(19)(44)(5)(13)(27)(19)(18)(20)(15)(6)

我要回帖

更多关于 ios10抬手唤醒屏幕 的文章

 

随机推荐