禁用广播接收器

确保广播接收器在真正须要时才运行指令,在onResume中当中广播接收器,在onPause中禁用。

在manifest文件里声明广播接收器时,事先默认配置成禁用的

<receiver android:name=".BatterReceiver" android:enabled="false">

网络

1. 后台数据。后台传输数据时。推断ConnectivityManager的getBackgroundDataSetting()的返回值,假设为true。则进行后台传输数据,假设为false,则不进行后台传输数据

2. 数据传输,手机设备中最耗电的部件依次是:Wi-Fi-》3G-》CPU-》屏幕(都在最高负载时的数据),所以在数据传输时一定不要长时间的占用网络资源,而是应该突发性地传输一段时间内所需的全部资源,关于这个有一篇论文:http://www.research.att.com/articles/featured_stories/2011_03/201102_Energy_efficient?fbid=1N507ukp1ch,最后结论就是:The
single most important measure: transmit as much data as possible in a single burst and then end the connection.

1.使用GZIP压缩文本数据,使用GZIPInputStream类訪问数据

2.假设可能的话。使用JPEG而不是PNG的图片文件

3.使用匹配设备分辨率的资源(比方。不必为96x54大小的显示空间下载1920x1080的图片)

位置

1. 在不须要监听位置时注销位置监听器

2. 减小更新位置的频率

3. 使用合适的位置服务。android提供了三种位置服务,GPS、网络定位、被动定位(你的应用会等待其它应用。服务或系统组件发出定位请求,而后和其它监听器一起接受更新)

4. 使用Criteria类来筛选合适的定位服务

5. 使用最后已知位置,能够提高用户体验

传感器

减少传感器数据的更新频率来达到省电的目的

图形

在Android应用性能优化这本书中的第八章有专门的介绍

提醒AlarmManager

ELAPSED_TIME

ELAPSED_TIME_WAKEUP

RTC

RTC_WAKEUP

使用ELAPSED_TIME和RTC表示。计时完时假设设备没有被唤醒则等待设备被唤醒时才运行对应的动作

所以要尽量使用这两个參数

另外,使用AlarmManager的setInexactRepeating也能够达到省电的目的,主要差别是在系统怎样安排提醒到时,Android能够调整实际的触发事件。同一时候触发多个提醒(可能来自多个应用),这样的提醒更节能,系统也避免了出现不必要的唤醒。

WakeLock

获得wakelock之后一定要记得释放

为了防止出现故障,建议使用带超时的WakeLock.acquire()版本号,他会在超过时限后释放WakeLock。

假设用到的屏幕是和Activity中的View关联的,也能够在布局文件里使用XML属性android:keepScreenOn。

这样的方法的优点是,不必冒着忘记释放WakeLock的风险,交由系统处理。也不须要在manifest文件里设置权限

Android App优化之延长电池续航时间的更多相关文章

  1. Android App优化之ANR详解

    引言 背景:Android App优化, 要怎么做? Android App优化之性能分析工具 Android App优化之提升你的App启动速度之理论基础 Android App优化之提升你的App ...

  2. 4.Android App 优化之消除卡顿

    转载:http://gold.xitu.io/post/582583328ac247004f3ab124 1, 感知卡顿 用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI ...

  3. Android App优化建议(转载)

    假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等 ...

  4. Android App 性能优化实践

    本文记录了Android App优化需要用到的工具和以及在实践中的Tips.也算对我这半年来部分工作的总结. 工具 Hierarchy Viewer 是 Android SDK 自带的 Layout ...

  5. Android 性能优化的方面方面都在这儿

    又到周六了,鸿洋的不定期的周六放送又来了~~这次来谈谈性能优化吧.大家在工作中或多或少都会拿自家的应用和竞品app做比对,不可避免的需要做一些app性能优化的活.很多时候可能是策略上的调整,不过还是有 ...

  6. 十大技巧优化Android App性能

    无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的. 那么,如何能开发出更高性能的Android App?相信是软 ...

  7. 优化Android App性能?十大技巧必知!

    无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的.那么,如何能开发出更高性能的Android App?相信是软件 ...

  8. Android APP 性能优化的一些思考

    说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...

  9. Android app 性能优化的思考--性能卡顿不好的原因在哪?

    说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...

随机推荐

  1. thuwc9102划水记

    thuwc9102划水记 Day -2 时隔两个月之后终于回一次家,心情非常愉悦,开始浪. Day 0 晚上回到学校,然而机房里并没多少人,大佬们明天才回来.╮(╯▽╰)╭ Day 1 中午饭菜挺好吃 ...

  2. 今日SGU 5.1

    SGU 100 题意: 普通的a+b #include<bits/stdc++.h> #define de(x) cout<<#x<<"="&l ...

  3. 【试水CAS-4.0.3】第07节_CASclient配置单点登录

    完整版见https://jadyer.github.io/2015/07/26/sso-cas-client-login/ 本文源代码下载:http://download.csdn.net/detai ...

  4. home.pl 正在促销,一些域名免费(终止于2017.4.4)

    home.pl 正在促销,一些域名免费(终止于2017.4.4) home.pl 成立于1997年,是波兰顶尖的互联网服务公司.专注于域名登记,托管网站,保持电子邮件帐户等.  home.pl 正在促 ...

  5. theme-不同主题资源更改

    1.找到了影响桌面小部件的布局文件packages/apps/Mms$ vim res/layout/widget.xml修改里面的背景颜色属性,可以实现预期效果,至于里面的 <LinearLa ...

  6. [BZOJ1645][Usaco2007 Open]City Horizon 城市地平线 线段树

    链接 题意:N个矩形块,交求面积并. 题解 显然对于每个 \(x\),只要求出这个 \(x\) 上面最高的矩形的高度,即最大值 将矩形宽度离散化一下,高度从小到大排序,线段树区间set,然后求和即可 ...

  7. 交叉编译工具链bash: gcc:no such file or directory

    在进行交叉编译工具链安装时,有三种方法: 1.源码编译,手动安装 2.二进制可执行文件直接安装 3.直接解压工具链,手动修改环境变量 为了方便,我们多用方法3进行安装.但是问题来了,你的工具链制作时有 ...

  8. 关于搭建Session服务器(转载)

    Session服务器配置指南与使用经验 一.摘要 所有Web程序都会使用Session保存数据. 使用独立的Session服务器可以解决负载均衡场景中的Session共享问题.本文介绍.NET平台下建 ...

  9. 20160218.CCPP体系具体解释(0028天)

    程序片段(01):加法.c 内容概要:字符串计算表达式 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <st ...

  10. Java String对象的经典问题

     先来看一个样例,代码例如以下:  public class Test {       public static void main(String[] args) {           Strin ...