如何降低Android应用程序的耗电量
如何降低Android应用程序的耗电量
如何才能降低Android应用程序的耗电量呢?今天再一次回顾了一下09年Google IO大会Jeffrey Sharkey的演讲(Coding for Life — Battery Life, That Is),同时也讲一下应该如何有效地控制耗电量问题。 首先我们来看看Android手机的电量都主要消耗在了什么地方:显而易见,大部分的电都消耗在了网络连接、GPS、传感器上了。简单的说也就是主要在以下情况下耗电比较多:1、 大数据量的传输。2、 不停的在网络间切换。3、 解析大量的文本数据。那么我们怎么样来改善一下我们的程序呢?
1、 在需要网络连接的程序中,首先检查网络连接是否正常,如果没有网络连接,那么就不需要执行相应的程序。检查网络连接的方法如下:
- ConnectivityManager mConnectivity;
- TelephonyManager mTelephony;
- ……
- // 检查网络连接,如果无网络可用,就不需要进行连网操作等
- NetworkInfo info = mConnectivity.getActiveNetworkInfo();
- if (info == null ||
- !mConnectivity.getBackgroundDataSetting()) {
- return false;
- }
- //判断网络连接类型,只有在3G或wifi里进行一些数据更新。
- int netType = info.getType();
- int netSubtype = info.getSubtype();
- if (netType == ConnectivityManager.TYPE_WIFI) {
- return info.isConnected();
- } else if (netType == ConnectivityManager.TYPE_MOBILE
- && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS
- && !mTelephony.isNetworkRoaming()) {
- return info.isConnected();
- } else {
- return false;
- }
|
评论暂时关闭