|
在對尚郵架構師的訪談中曾經探討過移動開發是否要重視移動終端軟件的耗電問題,答案是顯而易見的!那么如何才能降低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;
}
it知識庫:有效控制Android應用程序的耗電量,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。