美文网首页新收藏
关于联想X3c70 锁屏后Handler休眠的问题

关于联想X3c70 锁屏后Handler休眠的问题

作者: 迷途小顽童 | 来源:发表于2017-05-10 09:23 被阅读59次

    事出有因

    今日测试发现一个比较奇怪的bug,联想X3c70,在一个倒计时的Dialog显示在界面中的时候,将屏幕上锁后,等待一段时间,再次点亮屏幕,发现Dialog上面的倒计时并没有在锁屏的时候继续进行,在三星s7上测试发现是正常的,查找代码发现倒计时更新界面逻辑是Handler执行的,后查找资料发现,原来handler在锁屏之后会有休眠的情况出现(为什么s7没有休眠的原因还没有搞清楚,有知道的大神烦请告知)

    解决方案

    得知问题的原因后,就可以实施解决方案了,既然是因为休眠造成的,那么就在锁屏的时候利用唤醒锁,保证Hander不休眠

    1、首先是获取屏幕锁屏的监听,这个实现我们使用广播来实现

    广播接收器

    2、下面是注册和取消注册广播的方法

    取消和注册广播监听

    2、获取唤醒锁

    获取唤醒锁

    这样我们就可以在屏幕点亮的时候获取到锁,来保证Handler不休眠

    尾声

    另外需要注意的是,广播在注册后在合适的时间将其销毁,唤醒锁在使用之后记得调用release()释放掉。

    相关文章

      网友评论

        本文标题:关于联想X3c70 锁屏后Handler休眠的问题

        本文链接:https://www.haomeiwen.com/subject/dfjitxtx.html