2
头图

8fae81a6ec03dd1fc74cfb4dcadd85c.png

答案:C

参考:

UIAbility组件生命周期

import { UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';

class MyUIAbility extends UIAbility {
  onWindowStageCreate(windowStage: window.WindowStage) {
    console.log('onWindowStageCreate');
  }
}

AbilityStage组件容器

非生命周期概念

image.png

答案:B

参考:

Stage模型应用程序包结构

HAP Ability 应用的功能模块,可以独立安装和运行,必须包含一个entry类型的HAP,可选包含一个或多个feature类型的HAP。
-支持在设备上独立安装运行
-支持依赖其他HSP文件
-支持依赖其他HAR文件
-支持包含资源文件与.so文件
-支持在配置文件中声明pages页面
-支持在配置文件中声明UIAbility组件与ExtensionAbility组件

HAR Static Library 静态共享包,编译态复用。
-支持应用内共享,也可以发布后供其他应用使用。
-作为二方库,发布到OHPM私仓,供公司内部其他应用使用。
-作为三方库,发布到OHPM中心仓,供其他应用使用。
-多包(HAP/HSP)引用相同的HAR时,会造成多包间代码和资源的重复拷贝,从而导致应用包膨大。
-注意:编译HAR时,建议开启混淆能力,保护代码资产。
-支持依赖其他HSP文件
-支持依赖其他HAR文件
-支持包含资源文件与.so文件

HSP Shared Library 动态共享包,运行时复用。
-当多包(HAP/HSP)同时引用同一个共享包时,采用HSP替代HAR,可以避免HAR造成的多包间代码和资源的重复拷贝,从而减小应用包大小。
-支持依赖其他HSP文件
-支持依赖其他HAR文件
-支持包含资源文件与.so文件
-支持在配置文件中声明pages页面

image.png

答案:C

参考:
ExtensionAbility组件
HAP

使用场景
单HAP场景:如果只包含UIAbility组件,无需使用ExtensionAbility组件,优先采用单HAP(即一个entry包)来实现应用开发。虽然一个HAP中可以包含一个或多个UIAbility组件,为了避免不必要的资源加载,推荐采用“一个UIAbility+多个页面”的方式。

多HAP场景:如果应用的功能比较复杂,需要使用ExtensionAbility组件,可以采用多HAP(即一个entry包+多个feature包)来实现应用开发,每个HAP中包含一个UIAbility组件或者一个ExtensionAbility组件。在这种场景下,可能会存在多个HAP引用相同的库文件,导致重复打包的问题。

be2db32bc5c2a146338874f536437cf.png
22f513a7ab39ff9f62f643e1d0f6871.png

答案:C

参考:
无障碍属性

无障碍文本,当组件不包含文本属性时,屏幕朗读选中此组件时不播报,使用者无法清楚地知道当前选中了什么组件。为了解决此场景,开发人员可为不包含文字信息的组件设置无障碍文本,当屏幕朗读选中此组件时播报无障碍文本的内容,帮助屏幕朗读的使用者清楚地知道自己选中了什么组件。

说明:
若组件既拥有文本属性,又拥有无障碍文本属性,则组件被选中时,仅播报无障碍文本内容。
若组件设置了无障碍分组属性为true,但是即没有无障碍文本属性,也没有文本属性,会对其子节点的组件进行文本拼接(深度优先)。


金刚鹦鹉
4.9k 声望260 粉丝