From 8c7b324478ffb3fa9ed0994d249aea56f5b0cafa Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 23 May 2022 20:32:35 +0800 Subject: [PATCH] add user Signed-off-by: unknown --- zh-cn/application-dev/ability/context-userguide.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/zh-cn/application-dev/ability/context-userguide.md b/zh-cn/application-dev/ability/context-userguide.md index 1286d6abc0..ee7771875b 100644 --- a/zh-cn/application-dev/ability/context-userguide.md +++ b/zh-cn/application-dev/ability/context-userguide.md @@ -4,7 +4,7 @@ ​ Context是应用中对象的上下文,提供获取应用程序环境信息的能力。 -​ OpenHarmony的应用框架分为FA模型和Stage两种模型。对应存在两套Context机制适配两种应用框架模型,其中application/BaseContext属于通用的Context基类,里面有一个属性stageMode,用来区分开发模型是FA还是Stage。 +​ OpenHarmony的应用框架分为FA模型和Stage两种模型。对应存在两套Context机制适配两种应用框架模型,其中application/BaseContext属于通用的Context基类,里面包含一个属性stageMode,用来区分开发模型是FA还是Stage。 ​+ FA模型 只有app/Context中的方法属于FA模型对应的Context。该模式下,应用级别的Context和Ability级别的Context都是该类型的实例,如果在应用级别的Context里面调用了Ability级别的方法,会产生错误。所以开发者需要注意Context实例所代表的实际含义。 @@ -203,10 +203,6 @@ export default class MainAbility extends Ability { **错误1:Stage模型通过globalThis去获取Context** -**结论** - -​ Stage模型不能使用globalThis去获取Context。 - **原因** ​ 应用框架在API8上推出了新的应用模型(Stage模型)。在老的模型(FA模型)下,每个Ability实例有一个js虚拟机实例,所以可以从js引擎的global对象上,获取到一个全局的Ability实例,但是在新的模型(Stage模型)下,整个应用进程共用一个js虚拟机实例,其中可以运行多个Ability实例,这样就不存在一个全局的Ability实例。如果开发者在新的模型(Stage模型)下,调用的API实现仍然走到了获取全局Ability实例的方法,就可能会发生错误或者崩溃。 \ No newline at end of file -- GitLab