手机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手机应用开发。)