HarmonyOS鸿蒙Next中Applicationcontext、UIAbilitycontext和Context的区别

HarmonyOS鸿蒙Next中Applicationcontext、UIAbilitycontext和Context的区别 arkui的 context分为多层 applicationcontext uiabilitycontext context,他们之间有什么关系? hap中先调用createModuleContext方法,拿到context是什么样层级?

3 回复
  1. ApplicationContext和UIAbilitycontext都是继承自基类Context ,不同的Context有不同的属性和方法;

  2. 接口文档里面createModuleContext获取的是基类Context,主要用来根据不同模块名获取的context分别指向不同的hsp。rawfile里的资源文件是和模块进行绑定的;

  3. hsp只是一个动态共享包,其肯能包含了静态资源,但是本身是没有上下文的概念。所以需要通过创建context的方式去获取该资源或者Module的信息;

  4. createModuleContext获取的是一个通用的、模块级的context,不是ApplicationContext;

  5. 所有的上下文都可以理解为单例模型:它总是指向应用或特定Ability的上下文,通过它获取的信息和执行的行为针对也直接是应用或特定Ability

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-context-stage-V5

更多关于HarmonyOS鸿蒙Next中Applicationcontext、UIAbilitycontext和Context的区别的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,ApplicationContextUIAbilityContextContext是三个不同的上下文对象,分别用于不同的场景。

  1. ApplicationContext

    • ApplicationContext是应用程序级别的上下文,代表整个应用程序的生命周期。
    • 它提供了全局的资源和信息访问,如应用级别的配置、资源管理等。
    • ApplicationContext在整个应用运行期间保持不变,即使某个UIAbility被销毁。
  2. UIAbilityContext

    • UIAbilityContext是UIAbility级别的上下文,代表单个UIAbility的生命周期。
    • 它提供了与UIAbility相关的资源和信息访问,如UIAbility的配置、资源管理、页面跳转等。
    • UIAbilityContext在UIAbility创建时生成,在UIAbility销毁时释放。
  3. Context

    • Context是鸿蒙系统中的基础上下文类,ApplicationContextUIAbilityContext都是它的子类。
    • Context提供了通用的资源和信息访问接口,如资源获取、系统服务访问等。
    • Context的具体实现依赖于使用场景,可以是应用级别或UIAbility级别。

总结:

  • ApplicationContext用于应用级别的上下文管理。
  • UIAbilityContext用于UIAbility级别的上下文管理。
  • Context是基础上下文类,ApplicationContextUIAbilityContext继承自它。

在HarmonyOS鸿蒙Next中,Context是一个基础上下文类,提供应用运行时的基本信息和操作。ApplicationContext是应用级别的上下文,用于管理应用全局资源和生命周期。UIAbilityContext是UIAbility级别的上下文,专门用于与UIAbility相关的操作,如页面跳转和生命周期管理。总结:ApplicationContext负责应用全局,UIAbilityContext负责UIAbility局部,Context是它们的基类。

回到顶部