HarmonyOS应用开发者高级试题2025年7月部分单选题(带答案)
1.作为应用开发者,你使用hiAppEvent订阅了崩溃事件。应用崩溃后,从onReceive接口返回的AppEventInfo中()属性可以获取崩溃调用信息。
D. Params
2.某个应用开发了一个UIAbilityA,其启动模式是specified,并且对应的AbilityStage的实现如下;
import AbilityStage from ‘@ohos.app.ability.AbilityStage’;
import type Want from ‘@ohos.app.ability.Want’;export default class MyAbilityStage extends AbilityStage {this.instanceIndex = 0;
onAcceptWant(want: Want):string {
if(want.abilityName === ‘UIAbilityA’){
if(want.parameters && want.parameters.instanceKey === ‘test’){return test instance + this.instanceIndex++;} else {
依次调用如下方法4次启动UIAbilityA,value分别是"test"“test”“testA”“testA”,则当前运行期UIAbiLifunction testSpecified(context, value){
let want: Want ={
D. 3个
3.通过aa工具拉起com.example.test的EntryAbility,并传参给EntryAbility,具体参数是number类型的[key1,1][key2,2]和string类型的[key3,teststring]
[key4,
那边下面那个aa 命令是正确的
“”
B.aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString – psn key4
4一个应用的一个UIAblity,其exported字段配置为false,以下哪个场景可以拉起这
个UIAbility.
D.caller应用在后台,申请了长时任务,有STARTINVISIBLE_ABILITY权限;
5.下面的配置存在有几处错误
module.json5配置文件:
'module":{
“name”: “entry”
“abilities”:[
{
“name”:“EntryAbility”“srcEntry”:./ets/entryability/EntryAbility.ets"
.··“skills”:[
f
entities":["entity.system.home
,
“actions”:
"ohos.want.action.home
entities":
"entity.system.home
“actions”:[
"ohos.want.action.home
“metadata”:[
“name”:
“ohos.entry.shortcuts”
“resource”:
“profile:shortcutsconfig"在/resources/base/profile/日录下配置shortcutsconfig.json配置文件:shortcuts":[′shortcutId":"label":"shortcutLabel"icon":"profile:shortcuts_config"
在/resources/base/profile/日录下配置shortcuts_config.json配置文件:
shortcuts":[
'shortcutId":
"label":"shortcutLabel"icon":"profile:shortcutsconfig"在/resources/base/profile/日录下配置shortcutsconfig.json配置文件:shortcuts":[′shortcutId":"label":"shortcutLabel"icon":"media:shortcutIcon”
“wants”:[
“bundleName”:“com.ohos.hello”
“moduleName”:
“abilityName”:
EntryAbility
D.1
6下面的配置存在有几处错误()
app.json5配置文件:
{
“app”: {
“bundleName”: “com.example.myapplication”,
“vendor”: “example”,
“versionCode”: 1000000,
“versionName”: “1.0.2”,
“icon”: “media:appicon","label":"media:app_icon","label": "media:appicon","label":"string:app_name”,
“bundleType”: “app”
}
}
module.json5配置文件:
{
“module”: {
“name”: “feature”,
// …
“atomicService”: {
"preloads":[{"moduleName":"feature"}]
}
}
}
D.2
5.在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示:
// oh-package.json5
“dependencies”:
“dayjs”: “^1.10.4"
“lottie”:“^2.0.0’
在资源覆盖时,以下优先级排序正确的是()
C.AppScope>HAP包自身模块>dayjs模块>lottie模块
6.张工在使用DevEco Studio开发Harmonyos应用时,遇到了代码编译警告和错误。为了提高开发效率,哪一项正确描述了张工如何利用DevEcostudio的Quick rix功能来有效管理和修复代码中的问题?
C.张工通过双击Shift键打开搜索框,输入"problems“打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击“More actions”以查看更多修复选项。
7.项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在DevEco studio中设置不同的构建配置,以生成针对不同设备的nap包?
D.在模块级别build-profile.json5定义多个target在每个target的config/deviceType中定义不同的设备类型
8.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?
B.在hvigor目录下,单击鼠标右键,选择New>Module…,创建新的Module,此时module将创建在该文件目录下。
9.小李正在使用DevEco Studio进行Harmony0S应用的开发工作,他需要对一个频繁被调用的函数calculateData()进行重构,为了帮助小李高效地找到calculateData()函数的所有引用位置,并确保重构时考虑周全,以下哪个步骤是正确的使用DevEco Studio的“Find Usages”功能的操作方法
D.小李只需将光标定位在calculateData(函数名上,右键点击并选择“Find Usages”,或者直接使用快捷键Alt+ F7(macOS为Option+F7),DevEco Studio会自动列出该函数在项目中的所有引用位直。
10.在使用DevEco Studio的Profiler进行Harmony0S应用性能优化的流程中,以下哪个步骤12最恰当地描述了开发者利用Profiler工具进行性能问题识别、定位、优化及验证的完整过程
A.利用“Realtime Monitor”初步识别性能瓶颈,创建深度分析任务定位根因,根据分析结果优化代码再用“Realtime Monitor”验证优化效果
11.在使用DevEco Studio的Profiler进行Harmony0S应用或服务性能分析时,面对应用出现卡顿、加载慢等性能瓶颈问题,以下哪个描述最贴切地说明了“Time场景分析任务”的功能及其对开发者优化流程的帮助
A.Time场景分析任务展示热点区域内的CPU和进程级调用栈耗时情况,支持代码跳转,助力开发者快速定位并优化耗时较长的代码段
12.在一个包含多个模块(如entry、feature、service、library等)的大型Harmony0S应用项目中,如果某个模块feature对另外一个公共库模块library有依赖,如何通过DevEco Studio正确配置项目依赖关系
A. 在feature的oh-package,json5文件的dependencies字段中配置library的依赖
13.开发者开发了一个应用,该应用只有一个hap包,其module.ison5中abilities的配置如下所示,包含1个UIAbility(无Web组件)、1个FormExtensionAbility组件、
1个WorkSchedulerExtensionAbility组件,那么该应用在运行过程中,
最多会存在几个应用进程,
abilities":[
{
“EntryAbility”“name”
“./etc/entryability/Entr"srcEntry’
“$string:EntryAbility"description”
“exported”:ture
extensionAbilities”:
“ClockFormExtensionAbility’“name”:
“srcEntrance”:”./ets/form/ClockHormE
“type”:" form"
“name”:"TipWorkSchedulerExtensionAbi
C.3个
14.ArkTS支持以下哪些函数
B.object.keys();
15.可以通过下面那个接口拉起导航类的垂域面板.
D. startAbilityByType
16.HAR(Harmony Archive)是Harmony0S提供的共享包,以下关于HAR的描述错误的是
A.HAR不支持使用page页面
17.在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示:
// oh-package.json5
“dependencies”:
“dayjs”: “^1.10.4"
“lottie”:“^2.0.0’
在资源覆盖时,以下优先级排序正确的是()
C.AppScope>HAP包自身模块>dayjs模块>lottie模块
18.张工在使用DevEco Studio开发Harmonyos应用时,遇到了代码编译警告和错误。为了提高开发效率,哪一项正确描述了张工如何利用DevEcostudio的Quick rix功能来有效管理和修复代码中的问题?
C.张工通过双击Shift键打开搜索框,输入"problems“打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击“More actions”以查看更多修复选项。
19.在一个包含多个模块(如entry、feature、har、hsp等)的大型Harmony0s应用项目中,如果要对某个静态共享模块构建出静态构建包产物,如何通过DevEco studio进行构建
A.选中har模块,点击build菜单栏make module’har
20.项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在DevEco studio中设置不同的构建配置,以生成针对不同设备的hap包?
D.在模块级别build-profile.json5定义多个target在每个target的config/deviceType中定义不同的设备类型
21.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?
B.在hvigor目录下,单击鼠标右键,选择New>Module…,创建新的Module,此时module将创建在该文件目录下。
22.在一个包含多个模块(如entry、feature、service、library等)的大型Harmony0S应用项目中,如果某个模块feature对另外一个公共库模块library有依赖,如何通过DevEco Studio正确配置项目依赖关系
A. 在feature的oh-package,json5文件的dependencies字段中配置library的依赖
23.项目中包含多个模块和数千行代码。随着开发的深入,项目中的ArkTS源代码文件逐渐积累了大量import语句,其中不乏未使用的import以及不规范的排序情况,关于DevEco studio的编辑器的“optimize Imports”,以下说法正确的是
C可以在菜单栏中依次点击“Code”>“ReformatCode”来达到优化import的目的,因为“Optimizelmports”功能已整合进“Reformat Code”中。
24.使用promptAction.showToast如何设置显示在其他应用之上?
D.ToastShowMode,TOP MOAST
25.为了使isShow参数值与半模态界面的状态同步,可以使用下列那种方式双向绑定参数?
D. Column() {
Button(“transition modal 1”)
.onClick(() => {
this.isShow = true
})
.fontSize(20)
.margin(10)
.bindSheet($$this.isShow, this.myBuilder(), {height: this.sheetHeight, dragBar: this.showDragBar, backgroundColor: Color.Green, onAppear: () => {console.log(“BindSheet onAppear.”)}, onDisappear: () => {console.log(“BindSheet onDisappear.”)}})
}
.justifyContent(FlexAlign.Center)
.width(‘100%’)
.height(‘100%’)
26.下面哪种转场效果在入场动画时,表现为从透明度为0、相对于组件正常显示位置x方向平移100vp的状态,到默认的透明度为1、相对于组件不平移的状态,且透明度动画和平移动画的动画时长均为2000ms
B.TransitionEffect.OPAClTY.animation({duration.2000}).combine(TransitionEffect.translate({x:100}))
27.在方舟字节码的函数调用规范中,前三个参数表示的含义分别是
B. 函数对象本身、new.Target、this
28.下面关于方舟字节码格式PREF_IMM16_V8_V8描述正确的是
A. 16位前缀操作码,16位立即数,2个8位寄存器
29.下面关于方舟字节码格式IMM16_ID16_IMM8描述正确的是
C.8位操作码,16位立即数,16位id,8位立即数
30.以下关于垂直滚动Grid组件使用cachedcount属性的说明正确的是
D.设置cachedCount为1,则Grid在显示范围上下各缓存1个Gridltem
31.以下示例代码中可以进行动画的属性有哪些?
struct MyComponent {
@State compwidth: number = 100;
@State compHeight: number = 100;
@State compRadius: number = 32;
build() {
Column() {
}
.backgroundColor(“#ffcb3b3b”)
.width(this.compwidth) //1
.height(this.compHeight) // 2
.animation({ curve: Curve.Ease, duration: 200 })
.borderRadius(this.compRadius) //3
.onClick(() => {
this.compwidth += 10;
this.compHeight += 10;
this.compRadius += 4;
showToast(`宽度${this.compwidth}`+`高度${this.compHeight}`+`圆角${this.compRadius}`)
})
B. 1、2、3
32.ArkTS支持以下哪个函数?
D. Object.values();
33.以下哪个装饰器用来表示并发共享对象。
D. @Sendable
34.作为一个应用开发者,想搭建运维平台,想在应用内定时读取当前的内存信息,可以通过()接口来实现。
B. hiDebug
35.以下哪些赋值语句在ArkTS中是合法。
class A {
v: number = 0;
}
class B extends A{
u: string =‘’;
}
class C {
v:number=0;
}
let a1: A= new C();
let a2:A= new B();
let a3:B= new A();
let a4:C= new B()
D a2
36.依次点击A、B、C、D四个按钮,其中不会触发Ui刷新的是
Button("C").onClick(() => {this.nameList[0].name = "Jim";})
37.开发者小李遇到了一个复杂的问题,该问题仅在特定的代码执行路径上出现,且难以复现。他使用的是C++进行核心算法开发,代码的逻辑密集且对性能要求极高,DevEco studio为C/C++开发者提供的高级调试能力,以下哪个能力可以帮助小李查看代码历史执行路径,回溯到关键的变量状态
D.反向调试能力:允许开发者在调试过程中回退回到之前的代码行或断点,不仅查看过去的堆栈信息,还能重现历史的全局、静态和局部变量状态,帮助深入理解代码历史行为,特鄙视对于复杂逻辑和难以浮现的bug定位至关重要