操作系统
Q1:HarmonyOS 技术架构包括哪几层?并简述各层功能
HarmonyOS从下向上依次为内核层,系统服务层,框架层和应用层。
内核层主要包括内核子系统和驱动子系统,内核子系统:采用多内核,通过抽象层提供基础内核能力,适配不同设备。驱动子系统:提供统一外设访问及驱动开发管理框架,便于硬件生态开放。
系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务。
框架层负责提供多语言的用户程序框架、UI 框架,还有对外的多语言框架 API,方便应用开发。
应用层由有 UI 的 FA 和无 UI 的 PA 组成,能实现业务功能,支持跨设备调度分发,保障用户体验。
Q2:HarmonyOS技术特性
- 硬件互助,资源共享
- 一次开发,多端部署
- 统一OS,弹性部署
开发工具
Q1: 简述 DevEco Studio 有哪些基本特性?
- 智能高效代码编辑
- 多设备统一开发环境
- 多端设备模拟仿真
- 支持多语言的代码开发和调试
- 低代码可视化开发
- 多端双向实时预览
语言特性
Q1: 简述@Entry、@Component、@State 和@Preview 这四种装饰器的作用是什么?
@Entry:装饰struct,组件被装饰后作为页面的入口,页面加载时将被渲染显示。
@Component:用该装饰器装饰的struct为自定义组件,需要实现build()方法。
@State:装饰的状态数据被修改时会触发组件的build方法进行UI界面更新。
@Preview:装饰struct,用@Preview装饰的自定义组件可以在DevEco Studio的预览器上进行实时预览。
Q2: 请列举 HarmonyOS 应用开发中常用的几种布局组件,并简述其特点。(至少三种)。
1.线性布局: 最常用,线性布局的子组件在线性方向上(水平方向和垂直方向)依次排列。
2.Stack布局 堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。
3.弹性Flex布局: 自适应布局中最灵活的布局,提供一种更加有效的方式来对容器中的自组件进行排列,对齐和分配剩余空间。
Q3:自定义组件生命周期回调函数有哪些?
aboutToAppear()onPageShow()onBackPress()onPageHide()aboutToDisappear()
Q4: 从应用组件分类角度看,FA 模型和 Stage 模型有何区别?
FA模型的组件分类为PageAbility,ServiceAbility,DataAbility,无法进行派生,不利于扩展能力,Stage模型主要分为UIAbility组件和ExtensionAbility组件,可以进行派生,利于扩展能力。
Q5: Ability 的生命周期包括哪几个状态?
Create,Foreground,Background,Destroy
Q6: Ability 的生命周期包括哪几个回调方法?
onCreate()
onWindowStageCreate()
onForeground()
onBackground()
onWindowStageDestroy()
onDestroy()
Q7: 使用 Want 启动 Ability 有哪两种常用的启动方式?简述各自特点。
显式和隐式:
显式Want是在启动Ability时指定了abilityName和bundleName,通常用于应用内组件启动,通过在 Want 对象内指定本应用 Bundle 名称信息和 abilityName 来启动应用内目标组件。当有明确处理请求的对象时,显式Want是一种简单有效的启动目标应用组件的方式。
隐式Want是在启动目标应用组件时,调用方传入的 want 参数中未指定 abilityName。当需要处理的对象不明确时,可以使用隐式 Want,在当前应用中使用其他应用提供的某个能力,而不关心提供该能力的具体应用。隐式 Want 使用 skills 标签来定义需要使用的能力,并由系统匹配声明支持该请求的所有应用来处理请求。
Q8: 什么是原子化服务?具有哪些特征?
原子化服务是 HarmonyOS 提供的一种面向未来的服务提供方式,是有独立入口、免安装、可为用户提供一个或多个便捷服务的新型应用程序形态。
具有以下特征:
1.秒开直达,纯净清爽
2.服务相伴,恰和适宜
3.用完即走,账号相随
4.一体两面,嵌入运行
Q9: 简述使用 Image Kit 进行图片开发的主要流程。
Q10: 简述原子化服务与服务卡片的区别与联系。
区别:原子化服务是免安装应用形态,功能完整;服务卡片是信息展示交互载体,功能较简单。
联系:服务卡片是原子化服务主要呈现形态与入口,二者相互依存,卡片助服务触达用户。