diff --git a/zh-cn/application-dev/application-models/abilitystage.md b/zh-cn/application-dev/application-models/abilitystage.md index e03aedc6c54466cfcdef17d1c41e8afdab62b66e..936f00d6642336c51c9d8ac05770a835a6c95c3a 100644 --- a/zh-cn/application-dev/application-models/abilitystage.md +++ b/zh-cn/application-dev/application-models/abilitystage.md @@ -12,21 +12,21 @@ DevEco Studio默认工程中未自动生成AbilityStage,如需要使用Ability 1. 在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为myabilitystage。 -2. 在myabilitystage目录,右键选择“New > ts File”,新建一个TS文件并命名为MyAbilityStage.ts。 +2. 在myabilitystage目录,右键选择“New > TypeScript File”,新建一个TypeScript文件并命名为MyAbilityStage.ts。 -3. 打开MyAbilityStage.ts文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调,示例中增加了一个onCreate()生命周期回调。 +3. 打开MyAbilityStage.ts文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调,示例中增加了一个`onCreate()`生命周期回调。 ```ts import AbilityStage from '@ohos.app.ability.AbilityStage'; export default class MyAbilityStage extends AbilityStage { - onCreate() { - // 应用的HAP在首次加载的时,为该Module初始化操作 - } - onAcceptWant(want) { - // 仅specified模式下触发 - return "MyAbilityStage"; - } + onCreate() { + // 应用的HAP在首次加载的时,为该Module初始化操作 + } + onAcceptWant(want) { + // 仅specified模式下触发 + return "MyAbilityStage"; + } } ``` @@ -42,28 +42,26 @@ DevEco Studio默认工程中未自动生成AbilityStage,如需要使用Ability } ``` +[AbilityStage](../reference/apis/js-apis-app-ability-abilityStage.md)拥有[`onCreate()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageoncreate)生命周期回调和[`onAcceptWant()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonacceptwant)、[`onConfigurationUpdated()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonconfigurationupdate)、[`onMemoryLevel()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonmemorylevel)事件回调。 -[AbilityStage](../reference/apis/js-apis-app-ability-abilityStage.md)拥有[onCreate()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageoncreate)生命周期回调和[onAcceptWant()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonacceptwant)、[onConfigurationUpdated()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonconfigurationupdate)、[onMemoryLevel()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonmemorylevel)事件回调。 +- [`onCreate()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageoncreate)生命周期回调:在开始加载对应Module的第一个UIAbility实例之前会先创建AbilityStage,并在AbilityStage创建完成之后执行其onCreate()生命周期回调。AbilityStage模块提供在Module加载的时候,通知开发者,可以在此进行该Module的初始化(如资源预加载,线程创建等)能力。 -- [onCreate()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageoncreate)生命周期回调:在开始加载对应Module的第一个UIAbility实例之前会先创建AbilityStage,并在AbilityStage创建完成之后执行其onCreate()生命周期回调。AbilityStage模块提供在Module加载的时候,通知开发者,可以在此进行该Module的初始化(如资源预加载,线程创建等)能力。 +- [`onAcceptWant()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonacceptwant)事件回调:UIAbility[指定实例模式(specified)](uiability-launch-type.md#specified启动模式)启动时候触发的事件回调,具体使用请参见[UIAbility启动模式综述](uiability-launch-type.md)。 -- [onAcceptWant()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonacceptwant)事件回调:UIAbility[指定实例模式(specified)](uiability-launch-type.md#specified启动模式)启动时候触发的事件回调,具体使用请参见[UIAbility启动模式综述](uiability-launch-type.md)。 +- [`onConfigurationUpdated()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonconfigurationupdate)事件回调:当系统全局配置发生变更时触发的事件,系统语言、深浅色等,配置项目前均定义在[`Configuration`](../reference/apis/js-apis-app-ability-configuration.md)类中。 -- [onConfigurationUpdated()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonconfigurationupdate)事件回调:当系统全局配置发生变更时触发的事件,系统语言、深浅色等,配置项目前均定义在[Configuration](../reference/apis/js-apis-app-ability-configuration.md)类中。 - -- [onMemoryLevel()](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonmemorylevel)事件回调:当系统调整内存时触发的事件。 - +- [`onMemoryLevel()`](../reference/apis/js-apis-app-ability-abilityStage.md#abilitystageonmemorylevel)事件回调:当系统调整内存时触发的事件。 -应用被切换到后台时,系统会将在后台的应用保留在缓存中。即使应用处于缓存中,也会影响系统整体性能。当系统资源不足时,系统会通过多种方式从应用中回收内存,必要时会完全停止应用,从而释放内存用于执行关键任务。为了进一步保持系统内存的平衡,避免系统停止用户的应用进程,可以在AbilityStage中的onMemoryLevel()生命周期回调中订阅系统内存的变化情况,释放不必要的资源。 +应用被切换到后台时,系统会将在后台的应用保留在缓存中。即使应用处于缓存中,也会影响系统整体性能。当系统资源不足时,系统会通过多种方式从应用中回收内存,必要时会完全停止应用,从而释放内存用于执行关键任务。为了进一步保持系统内存的平衡,避免系统停止用户的应用进程,可以在AbilityStage中的`onMemoryLevel()`生命周期回调中订阅系统内存的变化情况,释放不必要的资源。 ```ts import AbilityStage from '@ohos.app.ability.AbilityStage'; export default class MyAbilityStage extends AbilityStage { - onMemoryLevel(level) { - // 根据系统可用内存的变化情况,释放不必要的内存 - } + onMemoryLevel(level) { + // 根据系统可用内存的变化情况,释放不必要的内存 + } } ``` diff --git a/zh-cn/application-dev/application-models/arkts-ui-widget-update-by-time.md b/zh-cn/application-dev/application-models/arkts-ui-widget-update-by-time.md index f9fa1737ae161c72d693044bb8dfca4628a979f5..2a691deea8cebecde16c09dc5027216c86e791dd 100644 --- a/zh-cn/application-dev/application-models/arkts-ui-widget-update-by-time.md +++ b/zh-cn/application-dev/application-models/arkts-ui-widget-update-by-time.md @@ -1,10 +1,15 @@ # 定时刷新和定点刷新 +在使用定时和定点刷新功能之前,需要在form_config.json配置文件中设置`updateEnabled`字段为`true`,以启用周期性刷新功能。 当前卡片框架提供了如下几种按时间刷新卡片的方式: -- 定时刷新:表示每隔一段时间刷新卡片内容,在form_config.json文件中配置,详见[updateDuration](arkts-ui-widget-configuration.md)字段。例如,每小时刷新一次卡片内容。注意:updateDuration(定时刷新)优先级比scheduledUpdateTime(定点刷新)高,配置定时刷新后,定点刷新将失效。 +- 定时刷新:表示每隔一段时间刷新卡片内容,在form_config.json文件中配置,详见[updateDuration](arkts-ui-widget-configuration.md)字段。例如,每小时刷新一次卡片内容。 + + > **说明:** + > + > 当配置了updateDuration(定时刷新)后,该设置会优先于scheduledUpdateTime(定点刷新)生效,即使同时配置了两者,定点刷新也会被忽略。 ```json { @@ -29,11 +34,12 @@ ] } ``` - + - 定点刷新:表示每天在某个时间点刷新,在form_config.json文件中配置,详见[scheduledUpdateTime](arkts-ui-widget-configuration.md)字段。例如,每天在10:30更新卡片内容。 - > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** - > 当同时配置了定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)时,定时刷新的优先级更高。如果想要配置定点刷新,则需要将updateDuration配置为0。 - + > **说明:** + > + > 当同时配置了定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)时,定时刷新的优先级更高。如果想要配置定点刷新,则需要将updateDuration配置为0。 + ```json { @@ -58,7 +64,7 @@ ] } ``` - + - 下次刷新:通过[setFormNextRefreshTime](../reference/apis/js-apis-app-form-formProvider.md#setformnextrefreshtime)接口指定卡片的下一次刷新时间(最短时间5分钟),例如,在接口调用的5分钟后刷新卡片内容。 ```ts diff --git a/zh-cn/application-dev/application-models/process-model-stage.md b/zh-cn/application-dev/application-models/process-model-stage.md index 88b9af254cfa2be9baaa03cd3d88a62785c8f74b..eeb6c13e05a83c80a0c249ac71f247894a8a87eb 100644 --- a/zh-cn/application-dev/application-models/process-model-stage.md +++ b/zh-cn/application-dev/application-models/process-model-stage.md @@ -15,7 +15,8 @@ OpenHarmony的进程模型如下图所示: > 说明: > -> 仅系统应用支持构建ServiceExtensionAbility和DataShareExtensionAbility。 +> - 仅系统应用支持构建ServiceExtensionAbility和DataShareExtensionAbility。 +> - 执行`hdc shell`命令,进入设备的shell命令行。在shell命令行中,执行`ps -ef`命令,可以查看所有正在运行的进程信息。 在上述模型基础上,对于系统应用可以通过申请多进程权限(如下图所示),为指定HAP配置一个自定义进程名,该HAP中的UIAbility、DataShareExtensionAbility、ServiceExtensionAbility就会运行在自定义进程中。不同的HAP可以通过配置不同的进程名运行在不同进程中。 diff --git a/zh-cn/application-dev/application-models/thread-model-stage.md b/zh-cn/application-dev/application-models/thread-model-stage.md index 9c238e1b8c404d47754ccd361b34cb6a112cbd5c..f98fb9e6c788e0b6099ac96d5d106f68318781a1 100644 --- a/zh-cn/application-dev/application-models/thread-model-stage.md +++ b/zh-cn/application-dev/application-models/thread-model-stage.md @@ -2,24 +2,22 @@ OpenHarmony应用中每个进程都会有一个主线程,主线程有如下职责: -1. 负责管理其他线程 +在OpenHarmony应用中,每个进程都会有一个主线程,主线程具有以下职责: -2. 同应用多个UIAbility组件共用一个主线程 +1. 管理其他线程,包括Worker线程。 -3. 输入事件分发 - -4. UI绘制 - -5. 应用代码回调(事件处理,生命周期) - -6. 接收Worker发送的消息 - -除主线程外,还有一类与主线程并行的独立线程Worker,主要用于执行耗时操作,但不可以直接操作UI。Worker线程在主线程中创建,与主线程相互独立。最多可以创建7个Worker: +2. 与应用中多个UIAbility组件共用一个主线程。 +3. 分发输入事件。 +4. 执行UI绘制。 +5. 处理应用代码的回调,包括事件处理和生命周期管理。 +6. 接收Worker发送的消息。 +除了主线程外,还有一类独立的Worker线程,用于执行耗时操作。Worker线程在主线程中创建,与主线程相互独立,但不能直接操作UI。最多可以创建7个Worker线程。 ![thread-model-stage](figures/thread-model-stage.png) 基于OpenHarmony的线程模型,不同的业务功能运行在不同的线程上,业务功能的交互就需要线程间通信。同一个进程内,线程间通信目前主要有Emitter和Worker两种方式,其中Emitter主要适用于线程间的事件同步, Worker主要用于新开一个线程执行耗时任务。 -**说明:** - - * Stage模型只提供了主线程和Worker线程,Emitter主要用于主线程内或者主线程和Worker线程的事件同步。 \ No newline at end of file +> **说明:** +> +> - Stage模型只提供了主线程和Worker线程,Emitter主要用于主线程内或者主线程和Worker线程的事件同步。 +> - 执行`hdc shell`命令,进入设备的shell命令行。在shell命令行中,执行`ps -p -T`命令,可以查看指定应用进程的线程信息。其中,``为需要指定的应用进程的进程ID。 \ No newline at end of file