手机APP五大秘技 之必须省电
编程学堂
每款成功的手机APP都有各自的优点,但它们都有一个共同的优点,那就是都考虑了节省手机电量——省电是手机APP的基础要求之一。为什么要这样设计呢?PC平台上的APP几乎没有考虑省电,也几乎没有多少用户关心这个,而手机平台的环境特殊——手机电池电量有限,用户非常关心手机电量,所以手机APP必须考虑省电才有希望博得用户的好感。那怎么设计才能保证APP省电呢?下面我们来梳理一下所有可以省电的方式(需要注意的是,APP省电的前提是必须保证全部功能的正常运行,本期平台是Android)。
三大省电方式
1.联网省电
现在很多手机APP都需要联网,在联网的过程中就有可以省电的技巧:
●减少联网次数
根据手机APP的逻辑实现,合理设计网络协议,例如将多种功能的数据包压缩到一次联网操作中,尽可能减少联网的次数。
●降低传输数据量
对于需要大量传输数据的APP,例如电子书等,可以对传输的数据进行压缩后再发送,这样不但可以省电,还可以节省流量、节约传输时间。
2.屏幕显示省电
屏幕显示是手机APP最常用的一项功能,可以通过以下技巧来省电:
●降低屏幕亮度
如果APP需要长时间在屏幕中显示,例如阅读电子书等,则可以通过降低屏幕的亮度来达到减少电量消耗的目的。为了方便用户,最好在设置中提供对于屏幕亮度的设置选项,从而满足各种不同用户的需要。
●自动关闭屏幕
如果APP不需要长时间在屏幕中显示,例如手机音乐播放器等,则可以在用户操作后一定时间,例如5秒,自动关闭屏幕显示。
3.细节省电
尽量减少手机震动、及时关闭蓝牙连接、设置APP的默认音量大小是中等、长时间未操作时自动暂停背景音乐等、手机来电话或用户运行其他程序时自动暂停。另外,也可以根据手机APP自身的特点选择其他恰当的方式来达到省电的目的。
实例展示APP省电
本例的目的是通过手机APP自动控制屏幕亮度。APP的设计思路:当程序启动时设置正常的亮度,当程序一定时间未响应时降低屏幕亮度,如果更长时间没有操作则关闭屏幕显示,当用户有操作时打开屏幕显示。
第一步:新建一个工程。
在Eclipse中选择“File→New→Android Project”打开新建项目窗口,然后设置application name为ControlDemo、package name为com.javamestudio.android.controldemo、Create Activity为ControlDemoActivity。最后,点击“File→New→Class” 新建一个类名为ControlDemoView的类。
第二步:绘制界面。
在ControlDemoView类中覆盖onDraw,并添加绘制代码(代码下载地址:http://www.icpcw.com/bzsoft)。
第三步:编写控制代码。
如果有操作则恢复正常亮度,否则每隔两秒钟降低一点屏幕亮度。关键代码如下(完整代码下载地址:http://www.icpcw.com/bzsoft):
public void run() {
try{
while(isRun){
Thread.sleep(1000);
long currTime = System.currentTimeMillis(); //获得当前系统时间
if(currTime - lastTime >= 3000){ //判断上次操作时间到现在是否超过3秒
light -= 30;//降低亮度数值
if(light < 0){
light = 0;
}
messageHandler.sendEmptyMessage(0); //请求系统降低亮度
info = “当前亮度是:” + light;
postInvalidate();
lastTime = currTime; //记录改变时间,避免重复
}
//Log.d(“light:”, “” + light);
}
}catch(Exception e){
e.printStackTrace();
最后在Eclipse中选择ControlDemo,单击鼠标右键,选择“Run As→Android Application”即可启动Android模拟器在里面进行触摸屏操作了。
手机屏幕没有统一的标准,所以开发手机APP时,就需要考虑如何适应不同手机的屏幕。下期更加精彩,敬请期待!
(作者简介:陈跃峰,多年来从事手机应用开发,开发过多款手机游戏和手机应用产品,出版过多部编程书籍,创办了爪哇米工作室,专门进行Java手机应用开发。)