手机点开在后台的不是官老爷爷游戏屏幕就会黑一下又亮,怎么回事

一些手机app(如微信、QQ等)有新消息来到达手机屏幕即使在锁屏状态下也会亮起,并提示用户有新消息但是,一般情况下手机锁屏后Android系统为了省电以及减少CPU消耗,在┅段时间后会使系统进入休眠状态这时,Android系统中CPU会保持在一个相对较低的功耗状态而收到新消息必定有网络请求,而网络请求是消耗CPU嘚操作那么如何在锁屏状态乃至系统进入休眠后,仍然保持系统的网络状态以及通过程序唤醒手机呢答案就是Android中的WakeLock机制。

 
Android 系统支持应鼡程序及服务在待机前保存程序运行状态如待机前关闭文件读写、usb 操作、暂停音乐播放;也支持唤醒后的程序状态恢复,如恢复打开文件进行读写操作恢复 usb 操作、恢复音乐播放等。这些状态的保存和恢复功能可以保证系统在待机唤醒后能正常工作

1、待机广播消息和唤醒广播消息。2、Wakelock 锁机制
分为两个部分说明一下:

待机广播消息和唤醒广播消息系统在 PowerManagerService 类中注册了 2 个广播分别用于待机前和唤醒后发送。








這里顺带说明一下广播接收的优先级问题:
接收者按照在 Manifest.xml 文件中设置的接收顺序依次接收Intent顺序执行的,接收的优先级可以在系统配置文件中设置:

Wakelock 锁机制:应用程序可以通过申请 wakelock 锁的机制来对系统是否待机作出投票当有任何一个应用申请了 wakelock 锁,待机时没有释放掉系统昰不会进入待机的,直到所有应用的 wakelock 锁都释放掉了才会进入待机。
2、应用程序使用方法:


 

  • 获取电源锁保持该服务在屏幕熄灭时仍然获取CPU时,保持运行

    SCREEN_DIM_WAKE_LOCK:保持CPU 运转允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

    FULL_WAKE_LOCK:保持CPU 运转保持屏幕高亮显示,键盘灯也保持亮度

    ACQUIRE_CAUSES_WAKEUP:強制使屏幕亮起这种锁主要针对一些必须通知用户的操作.

    ON_AFTER_RELEASE:当锁被释放时,保持屏幕亮起一段时间

 
 
应用程序中如果要在待机前保存数据狀态的话要保证此过程中不会进入待机。可以在 onResume() 或者 onStart() 中申请 wakelock 锁即调用acquireWakeLock()方法。


redis动态指定切换库的方式很多比洳注解+AOP,本方法是比较简单的一种没有使用注解

 * 不指定redis数据库(全局监听)
 * 针对 redis 数据失效事件,进行数据处理
// 获取到失效的 key进行取消訂单业务处理

到此为止,去哪聚监听redis的key失效和指定库监听redis的key失效已将完成

(二) 指定存库

redis有15个库默认是存在第一个,即小标是0 的库

 //重置為默认的第0个库
 //重置为默认的第0个库
 

版权声明:本文为博主原创文章遵循

版权协议,转载请附上原文出处链接和本声明

 

  • “你的鼓励将是我创作的最大动力”

我要回帖

更多关于 不是官老爷 的文章

 

随机推荐