如何降低Android应用程序的耗电量


如何才能降低Android应用程序的耗电量呢?今天再一次回顾了一下09年Google IO大会Jeffrey Sharkey的演讲(Coding for Life — Battery Life, That Is),同时也讲一下应该如何有效地控制耗电量问题。 首先我们来看看Android手机的电量都主要消耗在了什么地方:

显而易见,大部分的电都消耗在了网络连接、GPS、传感器上了。简单的说也就是主要在以下情况下耗电比较多:1、 大数据量的传输。2、 不停的在网络间切换。3、 解析大量的文本数据。那么我们怎么样来改善一下我们的程序呢?

1、 在需要网络连接的程序中,首先检查网络连接是否正常,如果没有网络连接,那么就不需要执行相应的程序。检查网络连接的方法如下:

  1. ConnectivityManager mConnectivity;     
  2.      
  3. TelephonyManager mTelephony;     
  4.      
  5. ……     
  6.      
  7. // 检查网络连接,如果无网络可用,就不需要进行连网操作等      
  8.      
  9. NetworkInfo info = mConnectivity.getActiveNetworkInfo();     
  10.      
  11. if (info == null ||     
  12.      
  13.         !mConnectivity.getBackgroundDataSetting()) {     
  14.      
  15.         return false;     
  16.      
  17. }     
  18.      
  19. //判断网络连接类型,只有在3G或wifi里进行一些数据更新。      
  20.      
  21. int netType = info.getType();     
  22.      
  23. int netSubtype = info.getSubtype();     
  24.      
  25. if (netType == ConnectivityManager.TYPE_WIFI) {     
  26.      
  27.     return info.isConnected();     
  28.      
  29. else if (netType == ConnectivityManager.TYPE_MOBILE     
  30.      
  31.         && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS     
  32.      
  33.         && !mTelephony.isNetworkRoaming()) {     
  34.      
  35.     return info.isConnected();     
  36.      
  37. else {     
  38.      
  39.     return false;     
  40.      
  41. }  
  • 1
  • 2
  • 3
  • 下一页

相关内容