在方舟字节码的函数调用规范中,前三个参数代表的含义分别是 (A)
A. 函数对象本身,new.Target,this
B. this,函数对象本身,new.Target
C. new.Target,函数对象本身,this
D. new.Target,this,函数对象本身
ArkTS支持以下哪个函数 (A)
A. Object.values()
B. Object.getOwnPropertyDescriptor()
C. Object.getOwnPropertyDesdcriptors()
D. Object.hasOwnProperty()
以下哪些赋值语句在ArkTS中是合法。(D)
class C {}
let value1: number = null;
let value2: string | null = null;
let value3: string | undefined = null;
let value4: C = null
A. value4
B. value3
C. value1
D. value2
以下a1\a2\a3\a4哪些赋值语句在ArkTS中是合法的?(a2)
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();
依次点击ABCD四个按钮,其中不会触发ui刷新的是
buttonC 包含Jim的按钮
现有一个宽高分别为200px的XComponent组件, 其绑定了一个XComponentController(xcController), 依次进行如下操作:
(1) xcController. setXComponentSurfaceRect( {surfaceWidth: 150, surfaceHeight:500} )
(2) 设置XComponent组件的padding为{ top: 5px, left: 10px, bottom: 15px, right: 20px}
(3) 将XComponent组件大小改为300px×300px
(4) 给XComponent组件设置一个宽度为2px的边框
(5) xcController. setXComponentSurfaceRect( { offsetX: -20, offsetY: 50,surfaceWidth: 200, surfaceHeight: -100 } )之后, 调用xcController. getXComponentSurfaceRect()的返回值为 (A)
A. { offsetX: 81, offsetY: -89, surfaceWidth: 150, surfaceHeight: 500}
B. {offsetX: 75, offsetY: -100, surfaceWidth: 150, surfaceHeight: 500}
C. { offsetX: 81, offsetY:-89, surfaceWidth: 200, surfaceHeight: 0}
D. {offsetX: -20, offsetY: 50, surfaceWidth: 200, surfaceHeight: 500}
已知下列代码PageOne页面为navigation中的某一子页面,依次点击PageOne页面中toPageTwo按钮,PageTwo页面中toPageOne按钮,此时点击get按钮获取全部名为name的NavDestination页面的位置索引为([0,1])
根据代码,以下ABCD解释正确的是(D)
enum Mode {
fullScreen, halfScreen
}
@Entry
@Component
struct Page {
@State title: string = ”
@state mode: Mode = Mode.fullScreen;
isShownTitle(): boolean {
if (this.mode == Mode.fullScreen) {
this.title = "Title";
return true;
} else {
this.title = "Section";
return false;
}
}
build() {
Column() {
if (this.isShownTitle()) {
Text(`${this.title}`)
} else {
Text(`${this.title}`)
}
ChangeMode({ mode: this.mode })
}
}
}
@component
struct ChangeMode {
@Prop mode: Mode;
build() {
Row({ space: 20 }) {
Button('full screen').onclick(() => {
this.mode = Mode.fullScreen;
})
Button('half screen').onclick(() => {
this.mode = Mode.halfScreen;
})
}
}
}
A.本例子可以运行起来,所以代码没有问题,
B.为了避免@Prop的拷贝,可以优化使用@Link,在该例子中行为和@Prop-样。
C.在ChangeMode里改变mode的值,会触发其父组件Page的Title内容的切换
D.在自定义组件Page的build方法里改变状态变量是非法操作,可能导致未定义的异堂UI行为.
下面哪种转场效果在入场动画时,表现为从透明度为0、相对于组件正常显示位置x方向平移100evp的状态,到默认的透明度为1、相对于组件不平移的状态,且透明度动画和平移动画的动画时长均为2000ms? (C)
A.TransitionEffect.asymmetric(TransitionEffect.OPACITY.animation({duration:2000}),TransitionEffect.translate({x:100}).animation({duration: 2000}))
B.TransitionEffect.OPAClTY.combine(TransitionEffect.translate({x:100}).animation({duration: 2000)))
C.TransitionEffect.OPACITY.animation({duration: 2000}).combine(TransitionEffect.translate({x:100})
D.TransitionEffect.translate({x:100}).combine(TransitionEffect.OPACITY.animation({duration: 2000}))
在UlAbility的onCreate生命周期中通过EventHub的on注册“event1"和"event2“事件。
………………
D选项
[Example].[Entry].[EntryAbility]receive. []
[Example].[Entry].[EntryAbility]ireceive.[2,"test2"]
[Example].[Entry].[EntryAbility]receive.[2,"test2"]
Text组件不支持以下哪种ABCD代码中哪种使用方式?(C)
A:
@Entry
@Component
struct TextExample {
build() {
Column({ space: 8 }) {
Text('textshadow').fontSize(9).fontColor(0xcccccc).margin(15).width('90%')
}
}
}
B:
@Entry
@Component
struct SpanExample {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifycontent: FlexAlign.SpaceBetween }) {
Text() {
Span('In Line')
Span('Component')
Span('!')
}
}.width('100%').height(250).padding({ left: 35, right: 35, top: 35 })
}
}
C:
@Entry
@Component
struct styledstringDemo {
scroll: Scroller = new Scroller();
layout: TextLayoutManager = new TextLayoutManager();
controller1: TextController = new TextController();
async onPageShow() {
this.controller1.setLayout(this.layout)
}
build() {
Column() {
Text(undefined, { controller: this.controller1 })
}.width('100%')
}
}
D:
@Entry
@Component
struct styledStringDemo {
scroll: Scroller = new Scroller();
mutableStyledString: Mutablestyledstring = new Mutablestyledstring("test hello world", [{
start: 0,
length: 5,
styledKey: styledstringKey.FONT,
styledValue: new Textstyle({ fontColor: Color.Pink })
}]);
controller1: TextController = new TextController();
async onPageshow() {
this.controller1.setstyledstring(this.mutablestyledstring)
}
build() {
Column() {
Text(undefined, { controller: this.controller1 })
}.width('100%')
}
}
在一个包含多个模块(如entry、feature、service、library等)的大型Harmonyos应用项目中,如果某个模块feature对另外一个公共库模块library有依赖,如何通过DevEcostudio正确配置项目依赖关系?(C)
A无需配置,直接在代码中编写import xxx from'library'
B在library的oh-package,json5文件的dependencies字段中配置feature的依赖
C在feature的oh-package.json5文件的dependencies字段中配置library的依赖
D在feature的build-profile.json5文件的dependencies字段中配置library的依赖
开发者小张正在使用DevEco Studio开发一款Harmony0S应用, 他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法(C)
A.使用“Profile”功能,因为这同样能提供对运行时应用的监控与调试能力。
B.使用Debug功能,将应用重新推包运行调试
C. Attach Debugger to Process, 这允许他连接到正在运行的应用进程进行调试。
D. Run without Debugging, 先让应用自由运行, 随后手动附加调试器。
张工在使用DevEco studio开发Harmony0s应用时,遇到了代码编译警告和错误。为了提高开发效率,哪一项正确描述了张工如何利用DevEco studio的Quick Fix功能来有效管理和修复代码中的问题?(B)
A.张工应该首先使用Ctrl+Shift+F快捷键全局搜索问题,然后手动在搜索结果中找出代码警告和错误的原因及位置。
B.张工通过双击Shift键打开搜索框,输入"problems”打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击“More actions”以查看更多修复选项。
C.张工只需在代码编辑界面按下F1键,DevEco Studio会自动识别当前光标所在行的错误并直接修复。
D.张工在代码编辑界面看到红色波浪线标记的错误时,直接右键点击错误代码,选择“Delete Line”以移除错误代码行,从而“修复”问题。
Harmonyos应用开发团队正着手优化一款面向全球市场的在线教育应用,该应用在特定课程直播环节出现了性能波动和响应延迟的问题,严重影响用户体验。打算利用DevEco Profiler来进行性能优化。DevEco Profiler其设计核心和主要优势是什么?(B)
A.DevEco Profiler主要是一个自动化修复工具,能自动检测并解决所有HarmonyOS应用的性能问题
B.DevEco Profier依据Top-Down设计理念,通过高度整合的数据展示范式,提供从宏观到微观的性能数据分析,加速开发者定位和解决问题的过程
C.DevEco Profiler采用Bottom-Up设计原则,从底层代码细节开始逐步构建性能模型
D. DevEco Profiler专注于用户界面设计的美化,使开发者操作更为直观
在使用DevEco studio的Profiler进行Harmonyos应用或服务内存管理优化时,以下哪个描述最准确地概述了“Allocation Insight”功能在识别和解决内存问题中的作用?(B)
A Allocation Insight详细展示应用运行时的每条语句柄分配记录,便于开发者逐一检查内存使用,但不提供内存泄漏的自动识别功能
B Allocation Insight通过分析应用服务运行时的内存分配及使用情况,辅助定位内存泄漏、内存抖动和溢出问题,支持优化内存使用
C Allocation Insight主要关注于内存碎片整理,减少内存分配的不连续性问题,对内存泄漏和溢出问题的检测不是其主要功能
D Allocation Insight仅提供内存分配总量的概览,帮助开发者宏观了解内存使用趋势,但对于具体泄漏或抖动问题无能为力
小李正在使用DevEco studio进行Harmonyos应用的开发工作,他需要对一个频繁被调用的函数calculateData()进行重构,为了帮助小李高效地找到calculateData()函数的所有引用位置,并确保重构时考虑周全,以下哪个步骤是正确的使用DevEco studio的"FindUsages”功能的操作方法
A. Ctrl_shift + f
使用DevEco studio进行复杂的跨设备功能开发与调试工作,期间频繁依赖本地模拟器来模拟多样化的设备环境。在这样的背景下,以下关于DevEco studio本地模拟器所支持的规格与功能,哪一项描述是准确的?(C)
A.本地模拟器和真机的能力没有任何差异,真机上可以支持的能力在模拟器上都可以
B本地模拟器当前不支持查看HiLog以及FaultLog
C本地模拟器上运行的应用无需进行签名,简化了调试过程。
D本地模拟器当前不支持单元测试框架和UI测试框架的运行
应用开发中使用的各类资源文件,需要放入特定子目录中存储管理,以下关于资源说法错误的是(A)
A rawfile目录,支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。目录中的资源文件会被编译成二进制文件,并赋予资源文件ID。
B resfile目录,应用安装后,resfile资源会被解压到应用沙箱路径,通过Context属性resourceDir获取到resfile资源目录后,可通过文件路径访问。
C stage模型多工程情况下,共有的资源文件放到AppScope下的resources目录。
D base目录是默认存在的目录,二级子目录element用于存放字符串、颜色、布尔值等基础元素,media、profile存放媒体、动画、布局等资源文件。
A中资源文件不会被编译成二进制文件并赋予资源文件ID
当前您在开发一个ArkTs、stage模型的Harmonyos工程,关于当前ArkTS工程目录结构,下列选项说法错误的是? (B)
A build-profile.json5:应用级编译构建任务脚本。
B entry>src>main>module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
C oh-package.json5:描述依赖配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等
D AppScope>app.json5:应用的全局配置信息。
应用程序开发调试过程中,经常需要安装新应用进行调测,下面安装应用操作错误的是(A)
A. hdc install -p ohosapp.hap
B. bm install -p ohosapp.hap
C. bm install -p ohosapp.hap -r
D. bm install -p /data/app/
某个应用开发了一个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 {
return 'test_instance';
}
}
return 'MyAbilitystage';
}
}
依次调用如下方法4次启动UIAbi1ityA,value分别是"test""test”"testA""testA",则当前运行期UIAbility实例有几个?
function testSpecified(context,value){
let want: Want ={
deviceId:"",
bundleName:'com.samples.stagemodelabilitydevelop',
abilityName: 'UIAbilityA',
moduleName:'entry',
parameters:{
instanceKey: value
}
};
context.startAbility(want).then(()=>{
hilog.info(DOMAIN NUMBER, TAG, 'Succeeded in starting UIAbilityA.');
}).catch((err:BusinessError)=>{
hilog.error(DOMAIN_NUMBER, TAG, `Failed to start UIAbilityA. code is ${err.code}`)
})
}
3个实例。(两次testA只启动同一个实例)
我们需要避免在逐帧调用的接口中执行耗时操作,下面哪个选项不属于上述的接口?(D)
A、onTouch
B、onScroll
C、onAreaChange
D、aboutToReuse