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

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

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

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

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情况下的生命周期:在用户参与的情况下...
    AndroidMaster阅读 3,110评论 0 8
  • 面试题总结 通用 安卓学习途径, 寻找资料学习的博客网站 AndroidStudio使用, 插件使用 安卓和苹果的...
    JingBeibei阅读 1,724评论 2 21
  • 安卓的入门基础就是四大应用组件。分别是:Activity(活动),Service(服务),Content Prov...
    忆念成风阅读 1,363评论 1 11
  • 如何看待钱 今早,迷迷糊糊中接了银行的电话,说账上来了570万日元。 既不是正在走的团款,也不是妈妈给换来的。很困...
    孙饼阅读 93评论 0 0
  • 昨天下午,闺蜜打来电话,说要一起看电影,约定了时间是下午17:00-18:00. 好久没看电影了,这段时间过得紧张...
    格格巫yilei阅读 347评论 0 4