android程式中耗電最多的地方在以下幾個方面 :
1、 大資料量的傳輸。
2、 不停的在網路間切換。
3、 解析大量的文字資料。
那麼我們怎麼樣來改善一下我們的程式呢?
1、 在需要網路連線的程式中,首先檢查網路連線是否正常,如果沒有網路連線,那麼就不需要執行相應的程式。
檢查網路連線的方法如下:
[*]connectivitymanager mconnectivity;
[*]telephonymanager mtelephony;
[*]……
[*]// 檢查網路連線,如果無網路可用,就不需要進行連網操作等
[*]networkinfo info = mconnectivity.getactivenetworkinfo();
[*]if (info == null ||
[*] !mconnectivity.getbackgrounddatasetting())
[*]//判斷網路連線型別,只有在3g或wifi裡進行一些資料更新。
[*]int nettype = info.gettype();
[*]int netsubtype = info.getsubtype();
[*]if (nettype == connectivitymanager.type_wifi) else if (nettype == connectivitymanager.type_mobile
[*] && netsubtype == telephonymanager.network_type_umts
[*] && !mtelephony.isnetworkroaming()) else
[*]很多人開發的程式後台都會乙個service不停的去伺服器上更新資料,在不更新資料的時候就讓它sleep,這種方式是非常耗電的,通常情況下,我們可以使用alarmmanager來定時啟動服務。如下所示,第30分鐘執行一次。
alarmmanager am = (alarmmanager) [*]
context.getsystemservice(context.alarm_service);
[*]intent intent = new intent(context, myservice.class);
[*]pendingintent pendingintent =
[*]pendingintent.getservice(context, 0, intent, 0);
[*]long interval = dateutils.minute_in_millis * 30;
[*]long firstwake = system.currenttimemillis() + interval;
[*]am.setrepeating(alarmmanager.rtc,firstwake, interval, pendingintent);
[*]最後一招,在執行你的程式前先檢查電量,電量太低,那麼就提示使用者充電之類的,使用方法:
[*]public void oncreate()
[*]intentfilter mfilter =
[*] new intentfilter(intent.action_battery_changed);
[*]broadcastreceiver mreceiver = new broadcastreceiver()
[*]};
xin.wu發表於 2012-2-21 12:50:14
我確實發現android比較費電。有時間連一天都用不了。感謝樓主的分享
xuemei發表於 2012-2-21 12:58:31
哇塞,很酷。搞乙個放在手機裡,試一試:d
火星人發表於 2012-2-21 13:18:19
嗚嗚,我手機是塞班的系統,樓主有沒有塞班省電的好方法啊?
hong.li發表於 2012-2-21 13:18:57
太好了,我正為此發愁呢。樓主的帖子發得真及時。謝謝!
yinhangdy發表於 2012-2-21 17:37:41
如果有節省流量的就更好了
hellobyj發表於 2012-2-22 14:22:15
本帖最後由 hellobyj 於 2012-2-22 14:22 編輯
節省流量的方法是斷開網路,不上網;p
hey123發表於 2012-2-24 09:40:26
android手機省電技巧,該技巧通過本人實際測試,效果很不錯,貼出來和大家一塊分享。:)
1:將手機的螢幕亮度調到最低限度。
2:將震動關閉,將來電模式設定為鈴聲。
3:平時不上網、不使用藍芽、不使用wifi時將這些功能都關閉,如果這些功能開啟的話,它們會不停的搜尋周圍的訊號。還有將wifi中自動搜尋周邊的wifi網路也給關閉掉。
4:晚上睡覺時,可以講當前手機狀態模式,調成飛行模式或者關機。
5:最好能將自己的android手機的root許可權給開啟,將內建的一些不用的軟體給卸掉,因為它們會一直在後台跑著自己的服務,這樣也會很費電。
6:在平時自己使用某款軟體時,如果用完了,最好是能把它們給關閉退出來,不然這些軟體會一直在你手機的後台執行。
7:出差的途中為了讓手機更省電,可以將手機設成離線模式,這樣它就不會在換區域時不停的搜尋訊號。
8:平時再打**時,最好在乙個地方待會把話說完,如果不停的走動,手機的也會不停的搜尋周圍的基站,並且還會增加訊號忽強,忽弱時無線電波對你大腦的輻射。
後台任務及省電優化
三 android不同版本對省電的優化 四 針對省電優化的解決方案 附 參考 關於 android 程序保活,你所需要知道的一切 但是,官方說明自己看 doze會通過推遲應用程式的後台cpu和網路活動來減少電池消耗。系統會定期退出doze一段時間,讓應用程式完成延期活動。在此維護視窗期間,系統將執行...
Android之效能優化
目的 減少布局檔案的層級,減少android繪製時的工作量。方法 刪除布局中無用的控制項和層級 選用效能較低的viewgroup linearlayout,framelayout1.ondraw中不要建立新的區域性物件 2.ondraw中不要做耗時任務 產生記憶體洩漏原因 1.靜態變數導致 2.單例...
Android應用優化之業務優化
作為程式開發者,我們應該也需要花費一些時間放在業務優化上。很多時候迫於時間的關係,當實現業務的方案並非最優。比如為了實現多張的上傳,很多人直接使用序列操作,儘管這樣比較容易達到效果,但並非最優。由於每個產品的業務並不相同,也就很難有通用的優化方案。首先我們先來設立兩個目標。1 如果有可能,序列業務並...