`
jaymsimusic
  • 浏览: 94345 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Android电源管理

阅读更多
Android电源管理


一、  相关概念

1.          出于节电的需要,一般应用在用户一段时间无操作的情况下屏幕变暗,然后进后休眠状态

2.          用户只能在”设置->声音和显示”中设置所有应用默认的屏幕亮度和进行待机的时间

3.          电源管理的实现分内核应用两部分,通过下面介绍的接口,我们可以设置应用程序的电源管理,以控制与其休眠相关的状态(是否需要进入休眠,调整cpu频率,键盘灯的开关,屏幕的亮暗等)

二、  设置电源管理常用的几种状态
PARTIAL_WAKE_LOCK            屏幕关,键盘灯关,不休眠
SCREEN_MID_WAKE_LOCK         屏幕灰,键盘灯关,不休眠
SCREEN_BRIGHT_WEEK_LOCK      屏幕亮,键盘灯关,不休眠
FULL_WAKE_LOCK               屏幕亮,键盘灯亮,不休眠
ACQUIRE_CAUSES_WAKEUP        一旦有请求锁时强制打开Screen和keyboard light
ON_AFTER_RELEASE             在释放锁时reset activity timer

Note:
如果申请了partial wakelock,那么即使按Power键,系统也不会进Sleep,如Music播放时
如果申请了其它的wakelocks,按Power键,系统还是会进Sleep
         void userActivity(long when, boolean noChangeLights);//User activity事件发生,设备会被切换到Full on的状态,同时Reset Screen off timer.

三、  使用电源管理注意事项

1.          可在onCreate时设置该界面的电源管理,在onDestroy时取消设置

2.          可在onResume时设置该界面的电源管理,在onPause时取消设置

3.          注意设置是以Activity为单位,不是以应用为单位

4.          注意在AndroidManifest.xml中声明该应用有设置电源管理的权限

5.          注意加锁解锁要成对出现

6.          注意多个用途最好用多个锁,不要一锁多用,以免出错

7.          注意对运行在后台和异常时对锁的处理

8.          注意在网络连接或传输时最好加锁,以免传输被中断

9.          注意加锁以保证程序逻辑

四、  代码举例

1.          源码修改

1)         引入电源管理包,以使用相关类
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 | PowerManager.ACQUIRE_CAUSES_WAKEUP, 
                            "XYTEST"); 
         mWakeLock.acquire(); 
}


4)         修改onDestroy
public void onDestroy()
{
         super.onDestroy();
         mWakeLock.release(); 
}


2.          AndroidManifest.xml文件修改
<uses-permission android:name="android.permission.WAKE_LOCK"/>
分享到:
评论

相关推荐

    android电源管理

    **Android电源管理** Android系统的电源管理是其操作系统中不可或缺的一部分,它负责有效地控制设备的电源消耗,以延长电池寿命,并确保设备在不同使用场景下的性能表现。本文将深入探讨Android电源管理的框架、...

    Android 电源管理

    Android 电源管理

    android 电源管理

    ### Android电源管理详解 #### 一、概述 在Android系统中,电源管理是一个非常重要的功能模块,它直接关系到移动设备的续航能力。良好的电源管理不仅能够提升用户体验,还能增加设备的整体性能。本文将深入探讨...

    Android电源管理相关应用技巧分享

    ### Android电源管理相关应用技巧详解 #### 一、引言 随着智能手机的普及和技术的发展,Android作为主流的移动操作系统之一,其电源管理技术对于提升用户体验至关重要。本文将深入探讨Android电源管理的技术细节,...

    浅析Wakelock机制与Android电源管理.pdf

    浅析Wakelock机制与Android电源管理.pdf 摘要: 本文浅析了Android电源管理机制,特别是Wakelock机制在Android电源管理中的应用。Android电源管理是Android操作系统中的一项重要功能,旨在有效地管理电源,延长设备...

    浅析Wakelock机制与Android电源管理

    浅析Wakelock机制与Android电源管理 Android电源管理是移动设备中非常重要的一方面,在Android系统中,Wakelock机制是电源管理的核心机制之一。Wakelock机制是Android系统中的一个重要组件,用于管理Android设备的...

    android 电源管理相关

    本文将深入探讨"Android电源管理相关"的主题,特别是"suspend"和"resume"这两个关键概念。 首先,"suspend"和"resume"是Android系统中用于设备电源状态切换的两个主要操作。Suspend指的是将设备置于低功耗模式,...

    Android电源管理.doc

    Android电源管理是操作系统中一个至关重要的部分,它涉及到设备的电池寿命、性能优化以及用户体验。在Android系统中,电源管理主要目标是确保设备在不牺牲用户体验的前提下尽可能地节省电力。本文将深入探讨Android...

    android电源管理显示例子

    本示例项目"android电源管理显示例子"提供了一个完整的实现,展示了如何获取并显示设备的电源状态信息。以下是这个项目涉及的一些核心知识点: 1. **PowerManager**: PowerManager是Android SDK中的一个关键类,...

    Android内核驱动——电源管理

    1. **Power HAL**(Hardware Abstraction Layer):是Android电源管理的核心接口,它提供了一套标准的接口供上层系统服务调用,用于控制硬件的电源状态。Power HAL实现了与具体硬件平台相关的电源管理功能。 2. **...

    Android电源管理模块.pdf

    Android电源管理模块.pdf

Global site tag (gtag.js) - Google Analytics