广播进行监听锁屏

    相信在网上有很多关于如何监听锁屏的方法,其中比较多的是利用广播进行监听锁屏事件,虽然利用广播进行监听是可以获得锁屏事件,但是其中是存在弊端的,其实比较好的监听锁屏的方式不应该利用广播,为什么这么说呢。

首先广播是系统级的,也就是系统中任何一个apk程序都可以接受到这个广播,这样问题就来了,比如你利用广播进行锁屏监听处理一些线程的时候,比如屏幕关闭停止一个子线程,屏幕亮的时候再开启这个子线程,当然在你的应用里面跑是没什么问题的,但是,当home键或者消息推送过来使得当前你的程序到后台跑了。这个时候打开其他的程序,再进行锁屏操作,你打开log会发现你的子线程也会因为接收到广播被启动了,这样你的程序就无形中消耗手机的内存。

其实正确处理锁屏事件还是得应该从activity的生命周期进行处理,因为无论是锁屏还是home键,程序都会按照activity的生命周期进行,

不知道csdn出什么问题了图片变黑了,有需求的大家自己在网上搜下activity的生命周期。

从图,锁屏的时候actvity会走onpause和onresum这条线路,要对锁屏进行处理的朋友在onpause添加相应的黑屏操作,onresum添加开屏操作

总之我觉得利用广播进行监听的方式是存在问题的,只是给大家在用的时候提个醒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值