Android系统上App的电量消耗主要由cpu、wakelock、数据传输(流量和wifi)、wifi运行、gps、other senior组成,而耗电异常也是由于这几个模块的使用不当。


BroaddcastReceiver

为了减少应用损耗的电量,代码中需要尽量避免无用的操作代码的执行

比如监听网络状态变化的广播接收者,如弹出提示网络环境的切换等,那么当应用切换到后台时候,我们需要禁掉这些动作,一般在onPause 之后取消广播的监听操作,onResume在监听即可.


数据传输

Android中常见的数据传输方式:蓝牙,wifi,移动数据等

在业务需求下,是否当应用切换到后台禁用这些数据的传输,避免无效的传输


位置服务

需要正确有限的使用位置服务

注意几个问题:

  • 是否及时注销位置监听器
  • 位置更新监听的频率
  • 多种位置服务的选择

AlarmManager

在不需要使用唤醒功能的情况下,尽量取消AlarmManger,否则会一直处于耗电状态


WakeLock

使用wakeLock时,需要切记及时释放锁

,否则可能导致屏幕一直常亮,耗费电量

转载于:https://www.cnblogs.com/loaderman/p/10071571.html

Android 电量优化相关推荐

  1. 【Android 电量优化】JobScheduler 源码分析 ( JobServiceContext 源码分析 | 闭环操作总结 | 用户提交任务 | 广播接收者接受相关广播触发任务执行 )★

    文章目录 一.JobServiceContext 引入 二.JobServiceContext 源码分析 三.用户在应用层如何使用 JobScheduler 四.用户提交任务 五.广播接收者监听广播触 ...

  2. 【Android 电量优化】JobScheduler 相关源码分析 ( JobSchedulerService 源码分析 | 任务检查 | 任务执行 )

    文章目录 一.回调 StateChangedListener 接口 二.JobHandler 处理 ( 任务检查 ) 三.maybeRunPendingJobsH 方法 四.assignJobsToC ...

  3. 【Android 电量优化】JobScheduler 相关源码分析 ( ConnectivityController 底层源码分析 | 构造函数 | 追踪任务更新 | 注册接收者监听连接变化 )

    文章目录 一.ConnectivityController 连接控制器引入 二.ConnectivityController 构造方法解析 ( 注册接收者 ) 三.mConnectivityRecei ...

  4. 【Android 电量优化】JobScheduler 相关源码分析 ( JobSchedulerService 源码分析 | Android 源码在线网址推荐 )

    文章目录 一.JobScheduler 提交任务 schedule 方法源码分析 二.schedule(JobInfo job, int uId) 方法 三.scheduleAsPackage 方法 ...

  5. 【Android 电量优化】电量优化 ( 使用 AlarmManager 保持 CPU 唤醒 )

    文章目录 一.AlarmManager 简介 二.使用 AlarmManager 保持 CPU 唤醒流程 ( 省电操作 ) 三.使用 WeakLock 保持 CPU 唤醒 代码示例 1.Service ...

  6. 【Android 电量优化】电量优化 ( Battery Historian 环境要求 | 电量分析报告 | 电量优化三原则 | 电量优化注意事项 )

    文章目录 一.Battery Historian 环境要求 二.上传电量报告 三.Battery Historian 电量分析报告 四.电量优化三原则 五.电量优化注意事项 参考 Google 官方文 ...

  7. 【Android 电量优化】电量优化 ( 获取电量分析报告 | 阿里云服务器搭建 Battery Historian | 上传并生成分析报告 )

    文章目录 一.Battery Historian 搭建环境 二.获取 Android 手机电量报告 1.重置电量状态 2.开启获取 WeakLock 信息 3.获取手机电量报告 三.阿里云服务器搭建 ...

  8. android电量优化方法,Android性能优化——电池使用优化

    为什么要做电量优化 Android应用开发中,需要考虑的情况是,如何优化电量使用,让我们的app不会因为电量消耗过高被用户排斥,或者被其他安全应用报告. 什么样的行为会导致电量损耗过高 对于移动设备而 ...

  9. 详解Android电量优化

    目录 写在前面 一.电量优化介绍及方案选择 1.1.如何正确认识电量优化 1.2.耗电量测试方案 二.Battery Historian实战分析 三.电量辅助监控实战 3.1.获取运行时能耗 3.2. ...

  10. 【Android 电量优化】电量优化特性 ( Doze 低电耗模式 | Standby 应用待机模式 | 白名单设置 | 白名单添加系统设置界面 | 指定应用的白名单添加界面 | 测试应用 )

    文章目录 一.Doze 低耗电模式简介 二.Standby 应用待机模式简介 三.Doze 和 Standby 模式测试 四.白名单添加 ( 方式一 ) 五.白名单添加 ( 方式二 ) Android ...

最新文章

  1. illegal multibyte sequence python3
  2. 编写junit 测试_编写JUnit测试的另一种方法(Jasmine方法)
  3. 234C. Weather
  4. Mono for Android—初体验之“电话拨号器”
  5. 移动互联网“大开放”之死
  6. python和java哪个好-Python和Java发展前景哪个好?Python开发学习
  7. java用Calendar计算年龄的问题
  8. HTML5 新属性的讲解
  9. PC串行接口串口定义
  10. 白帽子讲Web安全(纪念版)笔记
  11. CodeBook算法
  12. 20200509 Curator入门
  13. CsvWriteramp;amp;CsvReader
  14. 动物叫声合集v1.0支持25种动物叫声模拟
  15. 李建忠设计模式——观察者模式
  16. 欧洲5000年文明史,到底是怎么来的?
  17. 每次USB共享网络后,网络编号自动+1后清零方法
  18. JAVA实战之路(8):IDEA使用小技巧:IDEA禁止import *和允许import内部类
  19. 计算机科学与技术为什么叫cs,cs是什么专业的简称
  20. Dubbo @Reference retries=0 不生效

热门文章

  1. 全国计算机等级考试题库二级C操作题100套(第35套)
  2. java将030A转换为方块_JAVA试题
  3. python中的命名空间指什么_13.Python中的命名空间是什么
  4. laravel mysql视图,在 Laravel 视图文件中引入 bootstrap
  5. 为什么要要使用MyBatis
  6. 为对象分配内存TLAB
  7. 系统测试相关知识笔记
  8. 51单片机独立键盘和矩阵键盘
  9. linux 信号和信号量编程
  10. 网络低俗词_从“低俗小说”中汲取7堂课,以创建有影响力的作品集