Android 电源管理 -- wakelock机制 - 快乐&&平凡 - 博客频道 - CSDN.NETWake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠, 可以被用户态程序和内核获得. 这个锁可以是有超时的 或者 是没有超时的, 超时的锁会在时间过去以后自动解锁。如果没有...
分类:
移动开发 时间:
2015-01-13 14:14:08
阅读次数:
231
解锁、唤醒屏幕用到KeyguardManager,KeyguardLock,PowerManager,PowerManager.WakeLock
所需权限:
:name="android.permission.WAKE_LOCK"
/>
:name="android.permission.DISABLE_KEYGUARD"
/>
//锁屏、唤...
分类:
其他好文 时间:
2015-01-12 16:45:11
阅读次数:
94
Android 上定时运行任务常用的方法有2种,一种方法用 Timer,另一种是AlarmManager。TimerAndroid 的 Timer 类可以用来计划需要循环执行的任务,Timer 的问题是它需要用 WakeLock 让 CPU 保持唤醒状态,这样会大量消耗手机电量,大大减短手机待机时间...
分类:
移动开发 时间:
2014-12-26 18:20:12
阅读次数:
191
Android的电源管理框架
Android通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理框架分成五个部分:应用层,framework层,JNI层,HAL层和内核层。电源管理架构图如下:
PowerManager类向应用程序提供接口,如Wakelock的acquire, release等,上层应用程序通过这些接口实现电源的管理。
P...
分类:
移动开发 时间:
2014-12-18 16:57:45
阅读次数:
166
这两天工作比较忙,没有时间更新博客。今天难得闲下来,总结一下之前写的一个Demo,用到了两个小知识点:一是使用Thread加Handler实现计时,二是控制屏幕唤醒不熄灭。
首先是计时,首先我使用单纯的Handler来实现计时,代码如下:
Handler handler = new Handler();
Runnable runnable = new Runnable() {
...
分类:
移动开发 时间:
2014-12-16 21:09:45
阅读次数:
193
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,
可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,
超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就
会启动休眠的那套机制来进入休眠.
(一).内核维护了:
1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT]
active...
分类:
移动开发 时间:
2014-12-10 18:03:05
阅读次数:
160
PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);//获取电源管理器对象PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSE...
分类:
移动开发 时间:
2014-12-05 10:51:49
阅读次数:
320
PowerManager.WakeLock PowerManager.WakerLock是我分析Standup Timer源代码时发现的一个小知识点,Standup Timer 用WakeLock保证程序运行时保持手机屏幕的恒亮(程序虽小但也做得相当的细心,考虑的很周到)。PowerManager....
分类:
其他好文 时间:
2014-11-15 12:48:11
阅读次数:
182
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁.如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.PowerManager.WakeLock有加锁和解锁两种...
分类:
移动开发 时间:
2014-11-03 22:11:18
阅读次数:
277
Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。
//启用屏幕常亮功能
PowerManager pm =(PowerManager) getSystemService(POWER_SERVICE);
wakeLock= pm.newWakeLock(PowerManager.FULL_WAKE_LOCK| PowerManager.ACQUIRE_CAUS...
分类:
移动开发 时间:
2014-10-28 21:51:00
阅读次数:
170