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


BroaddcastReceiver

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

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


数据传输

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

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


位置服务

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

注意几个问题:

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

AlarmManager

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


WakeLock

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

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

Android 电量优化的更多相关文章

  1. android电量优化 总结

    移动设备电池容量小,耗电较快(基本一天一充) ,故我们在应用开发使用相关组件和方法时候必须考虑耗电情况: 一   通过Battery Historian查看手机的耗电状况, 可以知道Android的在 ...

  2. Android性能优化系列之电量优化

    电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情,随着Android开的性能要求越来越高,电量的优化,也显得格外重要,一个耗电的应用,用户肯定会毫不犹豫的进行卸载,所 ...

  3. Android性能优化-电量优化

    前言 电量优化,这个名词在传统PC时代,我们基本很少听见.然而到了诺基亚时代,我们也同样很少关注.直到了移动互联的智能机时代.电量优化才被慢慢的重视起来.可能的原因如下: 移动设备,不能一直使用电源供 ...

  4. android 性能优化

    本章介绍android高级开发中,对于性能方面的处理.主要包括电量,视图,内存三个性能方面的知识点. 1.视图性能 (1)Overdraw简介 Overdraw就是过度绘制,是指在一帧的时间内(16. ...

  5. Android性能优化典范

    来源:http://hukai.me/android-performance-patterns/#jtss-tsina 0)Render Performance 大多数用户感知到的卡顿等性能问题的最主 ...

  6. Android性能优化典范第二季

      Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitma ...

  7. Android性能优化典范第一季

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

  8. Android性能优化的浅谈

    一.概要: 本文主要以Android的渲染机制.UI优化.多线程的处理.缓存处理.电量优化以及代码规范等几方面来简述Android的性能优化 二.渲染机制的优化: 大多数用户感知到的卡顿等性能问题的最 ...

  9. [转]Android性能优化典范

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

随机推荐

  1. Error:Execution failed for task ':app:compileDebugJavaWithJavac'

    百度一下呗 查找了各种解决方案,都不对症. 最后发现,造成这种异常的原因有很多.具体的还是要去终端编译,查看到底是什么地方出错了,然后具体问题具体分析. 终端进入项目的根目录,然后输入命令 ./gra ...

  2. CentOS 6.10 系统安装

    本章内容: CentOS 6.10 的安装 一.安装光盘,选择 Install or upgrade an existing system 二.选择 skip 跳过光盘检查 三.选择 Next 四.选 ...

  3. touchgfx MVP

  4. 【JOISC2012】fish

    Description 有 \(n\) 条鱼,第 \(i\) 条鱼的长度为 \(L_i\),颜色是 \(C_i\)(\(C_i\) 只能是 'R','G','B'). 你需要从中挑出至少一条鱼,要求挑 ...

  5. golang多维数组的切片

    通过for循环来取多维数组的切片 package main import ( "fmt" ) func main() { a := [...]string{"USA&qu ...

  6. 使用PyInstaller将.py文件打包并生成Windows下可执行的.exe文件

    最近要使用Qt写一个简单的GUI程序,因此使用了PyQt5来加快开发,使用PyQt5生成可执行的程序时,在Windows操作系统下可以使用pyinstaller库将.py文件及其相关依赖生成为.exe ...

  7. 03—mybatis的基本用法02

    深入Mapper XML映射文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比 ...

  8. Filtering Approaches for Real-Time Anti-Aliasing(2011 SIGGRAPH)

    Filtering Approaches for Real-Time Anti-Aliasing(2011 SIGGRAPH) 在2011的SIGGRAPH上,NVIDA提出了FXAA3.1,本文主要 ...

  9. 题解 [CF961G] Partitions

    题面 解析 首先我们观察这个定义, 可以发现每个元素在统计答案时是平等的, 也就是单个元素的权值对答案没有特别的影响. 设元素权值为\(w[i]\), 那么我们就可以知道答案是\(\sum_{i=1} ...

  10. JavaScript相等运算符

    ★相等运算符 相等运算符用来比较两个值是否相等 如果相等会返回true,否则返回false ㈠使用 == 来做相等运算 ⑴当使用 == 来比较两个值时,如果值的类型不同,     则会自动进行类型转换 ...