From 172cf0c15c3355ef5fe662838d65508f8cf95ec7 Mon Sep 17 00:00:00 2001 From: geraltxu <36860135+geraltxu@users.noreply.github.com> Date: Fri, 19 May 2023 17:25:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=BE=85=E6=9C=BA=E7=BB=AD?= =?UTF-8?q?=E8=88=AA=E9=83=A8=E4=BB=B6=E5=BC=80=E5=8F=91=E6=8C=87=E5=8D=97?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xufanghan --- .../device-standby-use-guide.md | 36 +++------ .../js-apis-resourceschedule-deviceStandby.md | 73 ++++++------------- 2 files changed, 34 insertions(+), 75 deletions(-) diff --git a/zh-cn/application-dev/device_standby/device-standby-use-guide.md b/zh-cn/application-dev/device_standby/device-standby-use-guide.md index df27f6c091..04944c3965 100644 --- a/zh-cn/application-dev/device_standby/device-standby-use-guide.md +++ b/zh-cn/application-dev/device_standby/device-standby-use-guide.md @@ -1,9 +1,9 @@ -# 设备待机空闲部件开发指南 +# 设备待机续航部件开发指南 ## 场景介绍 -当前设备在待机状态及睡眠状态,应用不会被冻结、任务不会被延迟、时钟时间不会变慢、CPU锁不会释放、网络不会停止,导致灭屏功耗大。 -设备灭屏/锁屏情况下,保持一段时间后进入待机空闲模式,限制后台应用使用资源,降低功耗。
+当前设备在灭屏进入待机睡眠前,应用不会被冻结、Work任务不会被延迟、Timer时间不会变慢、CPU锁不会释放、应用网络访问不会停止,导致设备灭屏功耗大,影响整机续航。 +因此,在进入待机空闲状态下,需要限制后台应用使用资源,降低整机功耗。
解决以下场景
-一、采集系统设备进入待机空闲特征
+一、采集系统设备进入待机空闲特征,进入待机时机,退出待机条件
二、检测设备进入浅睡眠状态和深睡眠状态
三、设备每隔一段时间暂停睡眠,进入维护状态
四、检测到设备进入待机空闲状态,触发资源管控 @@ -12,26 +12,14 @@ ## 待机低续航模式介绍 待机低续航模式会延迟应用后台cpu和网络活动,从而延长电池续航时间。
包括: -
1.应用限网:限制访问网络 +
1.应用限网:限制应用访问网络
2.work待机任务:延迟应用的work任务响应 -
3.running_lock锁:释放应用的锁 +
3.running_lock锁:释放应用申请的cpu running_lock锁
4.Timer响应:延迟应用的timer响应 ## 接口说明 -### 一、返回当前是否进入待机功耗续航模式 -isDeviceInStandby() -
-功能描述:返回当前是否进入待机低功耗续航模式。 -
-举例:push客户端应用获取待机状态管控消息推送缓存 -### 二、获取豁免信息 -getExemptionListApps() -
-功能描述:获取豁免信息 -
-举例:push客户端应用获取push限网豁免名单 -### 三、更新调用者豁免信息 -applyExemptionAppResource()、unapplyExemptionAppResource() -
-功能描述:更新调用者豁免信息 -
-举例:针对系统应用可以申请临时豁免,临时放行待机状态管控该应用使用资源限制 +一、应用查询待机空闲状态接口
+isDeviceInStandby +二、应用申请待机空闲状态正常使用资源的接口
+getExemptedApps +requestExemptionResource +releaseExemptionResource diff --git a/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md b/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md index 62f49c63e1..acc7eaaa6a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md +++ b/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md @@ -1,20 +1,12 @@ # @ohos.resourceschedule.deviceStandby(设备待机空闲部件功能) 本模块提供设备待机空闲部件管理功能 -
API使用场景: -
如果用户长时间没有主动使用设备,且屏幕已关闭,则系统会使设备进入待机低功耗续航模式。待机续航模式会延迟应用后台CPU和网络活动,从而延长电池续航时间。 包括: -
-1、应用限网:通过iptable防火墙限制后台应用访问网络 -
+1、应用限网:限制后台应用访问网络 2、Work待机任务:延迟应用的work任务响应 -
3、running_lock锁:临时释放应用的background running_lock锁 -
4、Timer响应:延迟应用的timer响应 -
5、待规划:停止wifi扫描、停止蓝牙扫描、云同步账户等 - > **说明:** > - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 @@ -24,11 +16,8 @@ import deviceStandby from '@ohos.resourceschedule.deviceStandby'; ``` ## deviceStandby.isDeviceInStandby function isDeviceInStandby(callback: AsyncCallback): void; -
当前设备是否进入待机低功耗续航模式 -
-**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Idle - +**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby **参数**: | 参数名 | 类型 | 必填 | 说明 | @@ -36,7 +25,6 @@ function isDeviceInStandby(callback: AsyncCallback): void; | callback | Callback<void> | 是 | 延迟即将超时的回调函数,一般在超时前6秒通过此回调通知应用。 | **错误码**: - 以下错误码的详细介绍请参见[@ohos.resourceschedule.backgroundTaskManager (后台任务管理)](../errorcodes/errorcode-backgroundTaskMgr.md)错误码。 | 错误码ID | 错误信息 | @@ -45,17 +33,14 @@ function isDeviceInStandby(callback: AsyncCallback): void; | 401 | Parameter error. | | 9800001 | Memory operation failed. | | 9800002 | Parcel operation failed. | -| 9800003 | IPC failed. | | +| 9800003 | IPC failed. | | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | ## deviceStandby.isDeviceInStandby function isDeviceInStandby(): Promise<boolean> -
当前设备是否进入待机低功耗续航模式 -
-**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Idle - +**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby **返回值**: | 类型 | 说明 | @@ -71,17 +56,14 @@ function isDeviceInStandby(): Promise<boolean> | 401 | Parameter error. | | 9800001 | Memory operation failed. | | 9800002 | Parcel operation failed. | -| 9800003 | IPC failed. | | +| 9800003 | IPC failed. | | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | -## deviceStandby.getExemptionListApps -function getExemptionListApps(resourceTypes: number, callback: AsyncCallback): void; -
+## deviceStandby.getExemptedApps +function getExemptedApps(resourceTypes: number, callback: AsyncCallback): void; 返回豁免应用名单 -
-**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Exemption -
+**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby **系统API:** 此接口为系统接口。 **参数**: @@ -89,7 +71,7 @@ function getExemptionListApps(resourceTypes: number, callback: AsyncCallback | 是 | 回调函数,具体结构见文末 | +| callback | AsyncCallback | 是 | 回调函数,具体结构见文末 | **错误码**: @@ -102,18 +84,14 @@ function getExemptionListApps(resourceTypes: number, callback: AsyncCallback; -
+## deviceStandby.getExemptedApps +function getExemptedApps(resourceTypes: number): Promise; 返回豁免应用名单 -
-**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Exemption -
+**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby **系统API:** 此接口为系统接口。 - **参数**: | 参数名 | 类型 | 必填 | 说明 | @@ -124,7 +102,7 @@ function getExemptionListApps(resourceTypes: number): Promise | 指定的Promise回调方法。返回豁免应用名单,具体结构见文末| +| Promise | 指定的Promise回调方法。返回豁免应用名单,具体结构见文末| **错误码**: @@ -137,19 +115,15 @@ function getExemptionListApps(resourceTypes: number): Promise +## deviceStandby.requestExemptionResource +function requestExemptionResource(request: ResourceRequest): void; 订阅申请豁免 -
**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Exemption -
**系统API:** 此接口为系统接口。 - **参数**: | 参数名 | 类型 | 必填 | 说明 | @@ -167,17 +141,14 @@ function applyExemptionAppResource(request: ResourceRequest): void; | 401 | Parameter error. | | 9800001 | Memory operation failed. | | 9800002 | Parcel operation failed. | -| 9800003 | IPC failed. | | +| 9800003 | IPC failed. | | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | -## deviceStandby.unapplyExemptionAppResource -function unapplyExemptionAppResource(request: ResourceRequest): void; -
+## deviceStandby.releaseExemptionResource +function releaseExemptionResource(request: ResourceRequest): void; 去除订阅申请豁免 -
**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Exemption -
**系统API:** 此接口为系统接口。 **参数**: @@ -197,7 +168,7 @@ function unapplyExemptionAppResource(request: ResourceRequest): void; | 401 | Parameter error. | | 9800001 | Memory operation failed. | | 9800002 | Parcel operation failed. | -| 9800003 | IPC failed. | | +| 9800003 | IPC failed. | | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | @@ -216,7 +187,7 @@ The resource type of exemption application. |PUSH |1 << 5 |The resource for non-standby pushkit.| |FREEZE |1 << 6 |The resource for non-standby freezing application.| -### ExemptionAppInfo +### ExemptedAppInfo The information of exemption application.
-- GitLab