Android App优化之延长电池续航时间
禁用广播接收器
确保广播接收器在真正须要时才运行指令,在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优化之延长电池续航时间的更多相关文章
- Android App优化之ANR详解
引言 背景:Android App优化, 要怎么做? Android App优化之性能分析工具 Android App优化之提升你的App启动速度之理论基础 Android App优化之提升你的App ...
- 4.Android App 优化之消除卡顿
转载:http://gold.xitu.io/post/582583328ac247004f3ab124 1, 感知卡顿 用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI ...
- Android App优化建议(转载)
假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等 ...
- Android App 性能优化实践
本文记录了Android App优化需要用到的工具和以及在实践中的Tips.也算对我这半年来部分工作的总结. 工具 Hierarchy Viewer 是 Android SDK 自带的 Layout ...
- Android 性能优化的方面方面都在这儿
又到周六了,鸿洋的不定期的周六放送又来了~~这次来谈谈性能优化吧.大家在工作中或多或少都会拿自家的应用和竞品app做比对,不可避免的需要做一些app性能优化的活.很多时候可能是策略上的调整,不过还是有 ...
- 十大技巧优化Android App性能
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的. 那么,如何能开发出更高性能的Android App?相信是软 ...
- 优化Android App性能?十大技巧必知!
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的.那么,如何能开发出更高性能的Android App?相信是软件 ...
- Android APP 性能优化的一些思考
说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...
- Android app 性能优化的思考--性能卡顿不好的原因在哪?
说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...
随机推荐
- ios学习之旅---c语言函数
1.函数的概述 C源程序是由函数组成的. 尽管在前面各章的程序中大都仅仅有一个主函数main(),但有用程序往往由多个 函数组成. 函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能. C语 ...
- FormatMessage函数的使用方法
使用FormatMessage时假设对一些參数不细致研究.那么就会出错误.首先说下这个函数 1 函数描写叙述 DWORD WINAPI FormatMessage( _In_ DWORD dwFlag ...
- android 自己定义状态栏和导航栏分析与实现
效果 android 4.4之后,系统是支持自己定义状态栏和导航栏的.举个最典型的样例就是bilibiliclient了(iOS版本号和android版本号能用两套全然不一样符合各自系统的设计ui,良 ...
- SSH密码错误几次后封禁登录IP
#!/bin/bash yum -y install vixie-cron crontabs mkdir -p /usr/local/cron/ cat > /usr/local/cron/ss ...
- List-ArrayList 使用
今天优化一段代码,如下 int num = 0; boolean skipAppend = false; int types_ext1[] = new int[] { ModuleType.TYPE_ ...
- 趣闻|Python之禅(The Zen of Python)
在Python解释器中输入“import this”会发生什么?如果你不知道这个彩蛋,推荐继续阅读这篇文章. 2001年秋,Foretec(一家会议组织公司)正在准备召开第十届Internationa ...
- Dao层封装泛型实现(spring mvc,springjdbctemplate)
代码片段(6) [全屏查看所有代码] 1. [代码]BaseDao 跳至 [1] [2] [3] [4] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...
- [D3] Draw a basic US d3-geo map
Install: npm install --save d3 d3-geo topojson Code: import React, {Component} from 'react'; import ...
- ubuntu-安装中文拼音输入法
一下内容转载自http://blog.chinaunix.net/uid-24410388-id-3501873.html 自己验证了可用.转载了,已留做日后使用 步骤: step1:安装ibus所需 ...
- 库函数strcpy/strlen的工作方式
库函数strcpy/strlen的工作方式 分类: C/C++ 2011-07-03 23:49 1032人阅读 评论 ...