智能电视TV开发---如何实现程序省电
对于很多使用智能手机的用户来,很多抱怨手机耗电太快,很多人买手机的时候卖家都是推荐买两块电池,还有如果用户留心的话,在买手机的网页上,卖家会显示播放视频多长时间,听音乐多长时间,待机多长时间,不过看的最多的应该是他们说待机能够多长时间,今天写这篇文章是由于之前面试一家公司,老板问我如何说一个app算是一个好的程序,当时我给出了三点:1、界面UI 2、流畅度 3、处理耗时数据时,如何在UI上的体现。而后他说了两个耗电,网络,我对网络比较赞成,毕竟我们大多数app不是单机版的,时不时的都要去与网络交互,但是对于耗电我当时不太赞同,我当时的想法就是耗电是驱动模块应该考虑的,还有就是你不用就不耗电,你一直启动肯定要耗电,这个致使我走入一个误区,虽然当时不赞同,不过事后我想起来他们公司产品是要用到GPS的,不用说这个肯定很耗电,所以就查阅了一些资料,平常我们都是性能优化,很多人都会想起内存优化,UI优化等等,其实这些不仅不仅影响app的流程度也会增加电池的消耗的,只不过没有去关注罢了。既然发现了新大陆,所以我打算花上几天的时间去研究一下被我忽略的省电问题。
一、谁吃了我的电量
首先我们来看看Android手机的电量都主要消耗在了什么地方:
显而易见,大部分的电都消耗在了网络连接、GPS、传感器、CPU上了。
简单的说也就是主要在以下情况下耗电比较多:
1、 大数据量的传输。
2、 不停的在网络间切换。
3、 解析大量的文本数据。
上面的三点可以体现在很多方面比如网络图片显示方式,与后台交互数据时使用的传输方式,后台服务等等。那如何让电量飞的更长呢
二、用户角度来控制电量
2.1、屏幕亮度
我们所说的屏幕亮度也就是屏幕的背光,这就好比10瓦的电灯泡和50瓦的电灯泡,很多时候我们并不需要将屏幕亮度调到最高,实际上屏幕亮度是我们手机上那块硕大的屏幕最耗电的地方,所以适当的降低屏幕亮度将能很大程度上提高手机的待机能力,当然安卓系统提供了一个I自动调节亮度的功能,它能自动根据周围的环境来调节屏幕亮度,不过它依赖传感器的,而传感器我们在上面也提到也是耗电的罪魁祸首之一。
2.2、震动
在一些场合我们不希望来电或者信息的时候打扰周围的人,同样也不希望遗漏这些信息,我们通常会调成震动模式,如果不必要时候,不要开启震动,因为驱动手机的震动马达工作室需要消耗相当的电力的,所以如果不是在很有必要的情况下,最好关闭震动,听一下自己喜爱的铃声也是不错的选择。
2.3、按键音和触摸反馈
是不是触摸手机和按键的时候有一个叮当叮当的声音很爽呀,你是爽了,但是电量可就消耗掉了,只要操作手机有按键音和触摸反馈的时候就会消耗额外的电力,而且这也不是什么必须的东西,果断关掉。
2.4、GPS
GPS是一个好东西,出门在外特别是陌生的地方必不可少,记得我刚来上海的时候,带了折叠车上了地铁(我可是用东西包裹的,不然不让折叠车进),由于要转地铁,偏偏到转的地方最后一辆车走了,我只能拿着车子走出地铁站,由于人生地不熟的,还差到我住的地方还有一站有12里地吧,当时想拼车回去,但是司机算两个人,将半个人还不行,索性就打开百度地铁定位,在乌七八黑的路上乱窜,期间为了七八个人,成功与23点40分到家,GPS是个好东西,但是它确实耗电,幸好我带了移动电源不然只能睡在大街上了。在日常生活中的大多数时候我们都用不上GPS,但这并不意味着它没有在工作,所以出门的时候查完地图就关掉它吧。
2.5、蓝牙
近距离传输的好东西,不过只要你开着蓝牙,它就会一直吃掉你那可怜的电量,据说有些病毒也会通过蓝牙传播,所以果断关闭(当然,需要使用蓝牙的时候除外)。
2.6、自动同步
这个功能我是果断的关闭,它不仅耗电也耗流量,所以有需要的时候在开启,不用最好不要开启。
2.7、飞行模式
很多用户在晚上讨厌被骚扰,那么请果断打开飞行模式吧,关闭一切网络连接的手机将会惊人的省电,当然如果是小情侣的话,最好还是不要开启,不然某一个晚上的某一个时刻没有联系到你,第二天可能被轰击的,呵呵,所以要灵活使用飞行模式。
2.8、尽量使用官方ROM或者没有对CPU超频的ROM
对于超频这个词语应该很多人都听说过,超频会稍微提高手机的运行速度,也会大幅增强耗电,并让你的手机变得不那么稳定,实在有点得不偿失。
2.9、减少开关机次数
手机在开机的时候会重新搜索网络信号,重新加载所有的软件,而这都会消耗掉额外的电量。
2.10、不要在信号弱的地方通话
信号越弱,手机就会将天线的功率增加到越强,这不仅会增加手机的辐射,也会快速的消耗掉你的电池
2.11、不要使用自动任务管理器软件或者内存优化软件
很多用户感觉手机内存消耗比较大的时候,喜欢用内存优化软件杀死进程来释放内存,但是你有没有看的杀死的进程在后台又悄悄的开启了,对于Android手机来说很多在后台运行的软件并不会大量增加耗电量,如果使用任务管理软件把这些后台的软件杀光后反而会造成过多的重新载入时间,既浪费时间,又增加CPU的负担,当然也就增加了电池的消耗
2.12、关闭那些活跃在后台的程序
这一条并没有跟上面冲突,“活跃”的意思是指那些即便在后台,也会不断调用你的网络连接或者监视系统内存的软件,前者如QQ这样的即时通讯软件,后者就是在第2.11条中说过的自动任务管理软件
2.13、少装点桌面软件
安卓手机最大的优点之一就是桌面可以随意定制,例如ADW,Launcher Pro。不过对于使用HTC Sense、MIUI等这种深度定制系统的用户来说,即便你使用了这一类桌面软件,经过定制的桌面也会依然在后台运行,这无疑会增加我们手机的负担,降低速度并增加电量消耗,所以最好只选择一款自己习惯的软件。
2.14、不要使用动态桌面
动态桌面的确很炫,不过一直运行着一个那么炫的东西,当然要大量的电量支持
2.15、最好不要勾选程序的推送功能
实现推送功能说明程序一直在后台运行,要么客户端自己轮询查看服务器,要么服务器定时发送客户端数据,客户端来检测是否是新的信息,这不仅是耗电,而且也耗流量
2.16、不要常开WIFI
WIFI是好,不用消耗手机卡流量,但是它传输数据耗电
2.17、看视频,听音乐,玩游戏
当然这三样是用户主动的娱乐行为,不过它们确实耗电,音视频这东西要看到画面,不仅要在底层编解码还要渲染到手机上,所以最好找一款比较好的软件。
三、开发角度省电量
其实从用户角度省电量,同样也能反射到我们的app里面,当然这并不是简单的叠加的就行的。比如GPS,有些软件确实需要GPS来实现定位功能,当然我们也可以使用流量来定位,不过不如GPS准确,程序开启GPS后,如何去动态管理GPS,而不是仅仅用完了就放在这就行的。之前我在一家公司里面,涉及一个功能需要修改手机音量,我觉得最起码要有一个现场保护的功能,原来什么样那你就应该退出程序或者后台(不用这个功能的时候)还原回去,居然还遭到测试人员和其他平台开发人员的轰击,当时我就很纳闷,因为当时由于保护现场方法造成了一个bug,他们说这个做法是多余的,我之后默默改为这个bug也没有说什么了,我们做开发不仅仅是开发人员,同样也应该是一个资深的用户,说起规范,我看到测试人员给的bug,如果不是硬性问题,我首先会炮轰一遍,因为有些bug是测试人员的个人感觉,而他们给出的理由就是他们是测试人员是从用户的角度来看的,因为之前我也是做过测试的,所以只要遇到这样的问题,我也不会去争吵谁是用户,而是搜了一大堆同类功能的app,让他们对比,有时候争吵可能就是灵感的来源。
-----时间不早了,明天晚上继续讨论一下作为开发人员如何让我们app省电量 2014/1/7 0:39
智能电视TV开发---如何实现程序省电的更多相关文章
- 智能电视TV开发---直播视频客户端结构设计和实现
在智能电视TV开发---客户端和服务器通信里面我们实现了客户端和服务端的简单通信,接下来我们做一个简单的客户端界面,来实现手机端来操控智能电视的TV端. 一.存储视频的结构设计 我们在做客户端的时候, ...
- 智能电视TV开发---客户端和服务器通信
在做智能电视应用的时候,最头疼的就是焦点问题,特别是对于个人开发者,没有设备这是最最头疼的事情了,在没有设备的情况下,怎么实现智能电视应用呢,接下来我是用TV程序来做演示的,所以接下来的所有操作是在有 ...
- H5活动全屏滚动页面在安卓智能电视TV调试
前段时间公司做一个线上活动,在电视上商品促销.产品的要求是每个商品介绍刚好满一屏,按下遥控器向下键可以整屏切换.这种功能如果实在PC端,实现起来非常容易,引用jQuery插件就能实现.但是在安卓智能电 ...
- 安卓Tv开发(二)移动智能电视之焦点控制(按键事件)
原文:http://blog.csdn.net/sk719887916/article/details/44781475 skay 前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家 ...
- 安卓Tv开发(一)移动智能电视之焦点控制(触控事件)
前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验风格上有很大的区别,本系列博 ...
- 安卓TV开发(概述) 智能电视之视觉设计和体验分析
转载说明出处 :http://blog.csdn.net/sk719887916, 作者:skay 前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大 ...
- 安卓TV开发(十) 智能电视开发之在线视频直播
转载注明出处:http://blog.csdn.net/sk719887916/article/details/46582987 从<安卓TV开发(八) 移动智能终端多媒体之在线加载网页视频源& ...
- 联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595
联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595 admin 资讯 01-07 1 1月7日消息,联发科宣布与Google共同开发出全世界第一个搭载Android TV操作系统 ...
- 安卓TV开发(四) 实现主流智能TV视频播放器UI
前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验上有很大的区别,本系列博文主 ...
随机推荐
- 从C到C++的升级
C++的语言类型 C++是静态的强类型语言. 静态语言:数据类型在编译期间检查,因此在写程序时需要声明变量的类型 强类型语言:强调数据类型,不同的数据类型间的转换需要进行强制类型转换 C与C++的关系 ...
- (原)调用jpeglib对图像进行压缩
网址:http://www.cnblogs.com/darkknightzh/p/4973828.html.未经允许,严禁转载. 参考网站: http://dev.w3.org/Amaya/libjp ...
- Myeclipse6.5配置反编译插件
PS:jad.exe位置与Myeclipse6.5安装目录平行
- vs 2013打开vs 2008解决方案问题解决
同时安装了vs 2013和vs 2008后,双击vs 2008的解决方案,会出现直接用vs 2013打开的问题. 解决以上问题: 右键选择VS 2008的解决方案,选择开发方式->选择默认程序, ...
- FFmpeg深入分析之零-基础 <第一篇>
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂.本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一 ...
- 使用univocity-parsers创建和读取csv文件
import com.univocity.parsers.csv.CsvFormat;import com.univocity.parsers.csv.CsvParser;import com.uni ...
- 剑指offer-面试题20.顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字.例如: 输入一个矩阵如下: 则依次打印出数字:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10 这道题的 ...
- 剑指offer-面试题11.数值的整数次方
题目:实现函数double Power(double base,int exponent),求base的 exponent次方.不得使用库函数,同时不需要考虑大数的问题. 这道题看似很简单: 然而需要 ...
- 【转】C/C++程序员应聘常见面试题深入剖析
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵.文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见. 许多面试题看似简单,却需要深厚的基 ...
- IOS 排序算法
/** * @brief 冒泡排序法 * * @param arr 需要排序的数组 */ -(void)BubbleSort:(NSMutableArray *)arr { // 取第一个与其邻接的对 ...