Android開(kāi)發(fā)教程之電源管理詳解
本文實(shí)例講述了Android電源管理。分享給大家供大家參考,具體如下:
一、 相關(guān)概念
1. 出于節(jié)電的需要,一般應(yīng)用在用戶一段時(shí)間無(wú)操作的情況下屏幕變暗,然后進(jìn)入休眠狀態(tài)
2. 用戶只能在”設(shè)置->聲音和顯示”中設(shè)置所有應(yīng)用默認(rèn)的屏幕亮度和進(jìn)行待機(jī)的時(shí)間
3. 電源管理的實(shí)現(xiàn)分內(nèi)核應(yīng)用兩部分,通過(guò)下面介紹的接口,我們可以設(shè)置應(yīng)用程序的電源管理,以控制與其休眠相關(guān)的狀態(tài)(是否需要進(jìn)入休眠,調(diào)整cpu頻率,鍵盤燈的開(kāi)關(guān),屏幕的亮暗等)
二、 設(shè)置電源管理常用的幾種狀態(tài)
PARTIAL_WAKE_LOCK 屏幕關(guān),鍵盤燈關(guān),不休眠
SCREEN_MID_WAKE_LOCK 屏幕灰,鍵盤燈關(guān),不休眠
SCREEN_BRIGHT_WEEK_LOCK 屏幕亮,鍵盤燈關(guān),不休眠
FULL_WAKE_LOCK 屏幕亮,鍵盤燈亮,不休眠
三、 使用電源管理注意事項(xiàng)
1. 可在onCreate時(shí)設(shè)置該界面的電源管理,在onDestroy時(shí)取消設(shè)置
2. 可在onResume時(shí)設(shè)置該界面的電源管理,在onPause時(shí)取消設(shè)置
3. 注意設(shè)置是以Activity為單位,不是以應(yīng)用為單位
4. 注意在AndroidManifest.xml中聲明該應(yīng)用有設(shè)置電源管理的權(quán)限
5. 注意加鎖解鎖要成對(duì)出現(xiàn)
6. 注意多個(gè)用途最好用多個(gè)鎖,不要一鎖多用,以免出錯(cuò)
7. 注意對(duì)運(yùn)行在后臺(tái)和異常時(shí)對(duì)鎖的處理
8. 注意在網(wǎng)絡(luò)連接或傳輸時(shí)最好加鎖,以免傳輸被中斷
9. 注意加鎖以保證程序邏輯
四、 代碼舉例
1. 源碼修改
1) 引入電源管理包,以使用相關(guān)類
import Android.os.PowerManager;
2) 類中加入變量
PowerManager.WakeLock mWakeLock;
3) 修改onCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PowerManager pm =(PowerManager)getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "XYTEST");
mWakeLock.acquire();
}
4) 修改onDestroy
public void onDestroy()
{
super.onDestroy();
mWakeLock.release();
}
2. AndroidManifest.xml文件修改
PS:更多關(guān)于AndroidManifest.xml配置項(xiàng)及其功能可參考本站在線工具:
Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開(kāi)發(fā)之SD卡操作方法匯總》、《Android開(kāi)發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android編程之電池電量信息更新的方法(基于BatteryService實(shí)現(xiàn))
- Android優(yōu)化之電量?jī)?yōu)化的實(shí)現(xiàn)
- Android4.4開(kāi)發(fā)之電池低電量告警提示原理與實(shí)現(xiàn)方法分析
- Android電池電量跳變
- Android省電的秘密之JobScheduler
- Android實(shí)現(xiàn)顯示電量的控件代碼
- Android編程實(shí)現(xiàn)檢測(cè)當(dāng)前電源狀態(tài)的方法
- android電源信息查看(電量、溫度、電壓)實(shí)例代碼
- 如何通過(guò)Battery Historian分析Android APP耗電情況
相關(guān)文章
Android編程實(shí)現(xiàn)AIDL(跨進(jìn)程通信)的方法詳解
這篇文章主要介紹了Android編程實(shí)現(xiàn)AIDL(跨進(jìn)程通信)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android實(shí)現(xiàn)AIDL(跨進(jìn)程通信)的原理、具體流程與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-06-06
Android自定義實(shí)現(xiàn)一個(gè)車牌字母選擇鍵盤
這篇文章主要為大家詳細(xì)介紹了Android如何自定義實(shí)現(xiàn)一個(gè)車牌字母選擇鍵盤,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06
Android中buildToolVersion與CompileSdkVersion的區(qū)別
今天小編就為大家分享一篇關(guān)于Android中buildToolVersion與CompileSdkVersion的區(qū)別,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
Android Studio 3.1.X中導(dǎo)入項(xiàng)目的正確方法分享
這篇文章主要給大家介紹了關(guān)于Android Studio 3.1.X中導(dǎo)入項(xiàng)目的正確方法,文中一步步將解決的方法以及可能遇到的問(wèn)題介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Android使用第三方服務(wù)器Bmob實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼
這篇文章主要介紹了Android使用第三方服務(wù)器Bmob實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼的思路詳解,需要的朋友可以參考下2016-09-09
Android IPC機(jī)制Messenger實(shí)例詳解
這篇文章主要介紹了 Android IPC機(jī)制Messenger實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07
Flutter實(shí)現(xiàn)底部菜單導(dǎo)航
這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)底部菜單導(dǎo)航,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02

