Android Note - 电量优化

我们注意到,现在但凡每个手机厂商开新品发布会,关于电量的内容永远是占了重要的篇幅。现在的智能手机虽然性能远非早前功能机时代的手机可比,但是电量损耗反而好像是越来越大了?这有点 “日益增长的使用需要和不平衡不充分的电池电量技术发展之间的矛盾” 一样的感觉,是一个用户非常关注的问题。
在硬件上,我们作为软件开发者可能是爱莫能助;但是在应用层面上来说,我们能做的事情很多。下面就简单讲一下开发时要注意的一些地方。


耗电场景

具体到开发中,我们会碰到的耗电场景主要有下面一些场景。

  1. 屏幕点亮,组件开始工作,界面开始渲染流程。因为唤醒屏幕让屏幕亮起本身会消耗大量的电能。
  2. 使用蜂窝数据。这一块耗电是因为手机是通过 “射频” 模块与外界通信的,而这个模块也是手机中消耗电能的大户。
  3. 使用高精度的位置信息。这个也是电量消耗的大头了,早几年系统底层优化不够完善的时候,使用 GPS 一会儿手机甚至会发热发烫。

耗电优化

知道了耗电场景,那我们就可以有针对性地对这些场景进行优化了。

  1. 屏幕的渲染及CPU的长时间运行是耗电的主要因素,在做内存优化、渲染优化、代码优化的时候,也能帮助应用进行电量优化,这都是相辅相成的。

  2. 如果可以的话,监听手机充电状态,并在充电时才执行一些非常耗电的操作,比如下载文件,备份信息,上传日志等。

  3. 是否保持屏幕常亮要依据场景来决定,比如地图,阅读类的应用;最好给用户一个可以选择是否需要屏幕常亮的选项。

  4. GPS 选用合适的 Location Provider,并及时注销定位监听。有 GPS_PROVIDER,通过 GPS 来获取地理位置的经纬度信息;以及 NETWORK_PROVIDER,通过移动网络的基站或者 Wi-Fi 来获取地理位置;其中的区别就不细说了。

  5. 网络优化,判断当前网络状况,如果无网络,则不发送网络请求,避免太多超时重试;如果是蜂窝数据,则降低请求频率,减少重连次数;如果有长连接,记得关掉。

  6. 使用JobScheduler执行后台作业。JobSchedule的宗旨就是把一些不是特别紧急的任务放到更合适的时机批量处理。这样做有两个好处:一是避免频繁的唤醒硬件模块,造成不必要的电量消耗;二是避免在不合适的时间(例如低电量情况下、弱网络或者移动网络情况下的)执行过多的任务消耗电量。


总结

其实电量优化这一块的内容,往往也是我们在做其他性能优化时要注意的东西,这就要求我们在写代码时,更加深入地看待问题的实质,并始终保持一个良好的编码习惯。这样我们就能在应用层面,给用户带来更好的体验。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358

推荐阅读更多精彩内容

  • 本文由作者张迎贞授权网易云社区发布。 APP性能测试除了需要监控PCU、内存占用、流量等,还需要获取APP的电量数...
    43ce3d72fadb阅读 805评论 0 0
  • 病例:王xx,男,40岁,体检检查甘油三酯,胆固醇,低密度脂蛋白均偏高,平时喜食肥厚腻食物,饮食不规律,经常熬夜。...
    深圳一樱花阅读 2,255评论 2 3
  • 偶尔片刻的宁静,都要把昔日的时光翻阅 月色沉在河水里还不曾上岸 把自己的经历做成象梦一样的篇章 托付给水中的月光 ...
    泰安左眼皮跳跳阅读 217评论 1 7
  • 日本鬼子侵华战争期间,在海拉尔犯下累累罪行,其中现存铁证之一就是当年鬼子修筑的地下工事。 后世不忘,前世之失! 祈...
    远水生方阅读 399评论 0 1
  • 炽白的灯打在眼上, ——难受 颅骨里什么东西在晃, ——不敢动 抽搐成一团一直不能动弹。 昨天的酒精味太恶心人, ...
    大榕树上阅读 332评论 4 2