WakeLock 主要用来控制屏幕的变暗,熄灭,CPU休眠,键盘背光灯的关闭,应用程序在持有WakeLock 时,会使设备耗电显著增加,因此在不需要持有Wakeock 对象时应该释放WakeLock对象
常用的场景:
与前台交互比较少时,保持屏幕亮起,如:视屏播放,防止CPU 休眠
WakeLock的类型:
1、FULL_WAKE_LOCK ,CPU 运行,屏幕点亮,键盘背景灯点亮
2、SCREEN_BRIGHT_WAKE_LOCK 屏幕点亮,CPU运行
3、SCREEN_DIM_WAKE_LOCK :屏幕点亮(可以变暗) CPU运行
4、PARTIAL_WAKE_LOCK:保持CPU运行
获取WakeLock对象
PowerManager manager=context.getSystemService(Context.POWER_SERVICE);
WakeLock lock=manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"WakeLock");
使用acquire()方法来获取锁,使用release()来释放锁,获取锁后执行逻辑操作,执行完成后,使用release()释放锁
lock.acquire()
****do something**********************
lock.release()
获取WakeLock需要使用权限
<use-permission android:name="android.permission.WAKE_LOCK">