【Android Training - Performance】优化电池续航能力[Lesson 4 - 按需操控Broadcast Receivers是否开启]
来源:互联网 发布:计算机系统监控软件 编辑:程序博客网 时间:2024/04/29 02:42
Manipulating Broadcast Receivers On Demand[按需操控广播接收者]
- 简单的方法是为我们监测的状态创建一个BroadcastReceiver,并在manifest中为每一个状态进行注册监听。然后,每一个Receiver根据当前设备的状态来简单重新安排下一步执行的任务。[这句话感觉理解有点问题]
- 上面那个方法的副作用是,设备会在每次收到广播都被唤醒,这有点超出期望,因为有些广播是不希望唤醒设备的。
- 更好的方法是根据程序运行情况开启或者关闭广播接收者。这样的话,那些在manifest中注册的receivers仅仅会在需要的时候才被激活。
Toggle and Cascade State Change Receivers to Improve Efficiency
[切换是否开启这些状态Receivers来提高效率]
- 我们可以使用PackageManager来切换任何一个在mainfest里面定义好的组件的开启状态。
- 可以使用下面的方法来开启或者关闭任何一个broadcast receiver:
ComponentName receiver = new ComponentName(context, myReceiver.class);PackageManager pm = context.getPackageManager();pm.setComponentEnabledSetting(receiver, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
- 使用这种技术,如果我们判断到网络链接已经断开,那么可以在这个时候关闭除了connectivity-change的之外的所有Receivers。
- 相反的,一旦重新建立网络连接,我们可以停止监听网络链接的改变。而仅仅在执行需要联网的操作之前判断当前网络是否可以用即可。
- 你可以使用上面同样的技术来暂缓一个需要带宽的下载操作。可以开启receiver来监听是否连接上Wi-Fi来重新开启下载的操作。
学习自:http://developer.android.com/training/monitoring-device-state/manifest-receivers.html
转载请注明出处:http://blog.csdn.net/kesenhoo,谢谢!
- 【Android Training - Performance】优化电池续航能力[Lesson 4 - 按需操控Broadcast Receivers是否开启]
- 【Android Training - Performance】优化电池续航能力[Lesson 1 - 监测设备的电量与充电状态]
- 【Android Training - Performance】优化电池续航能力[Lesson 2 - 判断设备的停驻模式与类型]
- 【Android Training - Performance】优化电池续航能力[Lesson 3 - 判断并监测网络连接状态]
- Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器
- Manipulating Broadcast Receivers On Demand 按需操控广播接收
- Android官方开发文档Training系列课程中文版:电池续航时间优化之监测电池电量及充电状态
- Android官方开发文档Training系列课程中文版:电池续航时间优化之检查、检测网络连接状态
- 【Android Training - Multimedia】捕获照片 [Lesson 3 - 直接操控相机]
- 【Android Training - Performance】提高显示布局文件的性能[Lesson 1 - 优化布局层级]
- Android App优化之延长电池续航时间
- Android最佳实践之性能 - 电池续航时间优化
- Android优化(三)_延迟电池续航时间
- Android优化(三)_延迟电池续航时间
- Android开发:优化电池续航-监听电量和充电状态
- Android broadcast receivers详细介绍
- Android 广播接收器(Broadcast Receivers)
- 【Android Training - Performance】提高显示布局文件的性能[Lesson 3 - 按需载入视图(ViewStub的使用方法)]
- 中兴U880安装驱动
- 一个简单的电梯状态模型
- JSP内置对象(9个常用的内置对象)
- 平衡树构造算法
- 从HWND获取IE的IWebBrowser2接口的函数
- 【Android Training - Performance】优化电池续航能力[Lesson 4 - 按需操控Broadcast Receivers是否开启]
- 【斜率优化】特别行动队
- <<打工是最愚蠢的投资》 ——李嘉诚在大梅沙的演讲
- 不论你学什么专业,都应该了解这些
- getopt函数的使用
- Google Android如何分析和研究Log文件 ,如何看日志信息
- Matlab绘制二维图
- freescale R10 ipu lib 分析 - ipu_ic.c
- 杭电 1568 NYOJ 461 Fibonacci