即时网络监听架构,让用户体验飞起来

网络监听使用场景
下载文件、图片浏览、视频播放、接口请求

工具类到架构演变
先判断网络状态,再做别的
无法即时监听网络变化
多处订阅监听,无法同时接收
某方法只想监听WIFI或者GPRS

广播缺陷
5.0以前,我们都是广播BroadcastReceiver,注册网络变化相关的广播,然后判断是连接还是断开,这种做法非常方便,但随着安卓的版本迭代,在权限上越来越谨慎,广播的方式就显得不太优雅

Android7.0移除了三项隐式广播,因为隐式广播会在后台频繁启动已注册侦听这些广播的应用。删除这些广播可以显著提升设备性能和用户体验

注册广播有两种方式,一种是在AndroidManifest.xml中,另一种通过代码动态register方法

Android文档中描述,通过在AndroidManifest.xml中注册方式,App在前后台都无法接收到广播。而通过register的方式,当App在运行时,是可以接收到广播的

demo:https://github.com/ApeCold/Learn_Network_Sample

你可能感兴趣的:(即时网络监听架构,让用户体验飞起来)