应用程序框架进阶
判断题
- 一个应用是由一个或多个HAP组成。正确(True)
- UIAbility组件多实例启动模式是默认的启动模式。错误(False)
单选题
- 以下关于指定实例启动模式说法正确的是? ©
A. 系统每次启动UIAbility组件,都会创建一个新的该类型实例。
B. 是默认启动模式。
C. 支持拉起指定标识的实例。
D. 系统运行时,同一UIAbility组件只存在唯一实例。
- 以下关于Want的说法错误的是?(D)
A. Want是对象间信息传递的载体,用于在应用组件之间传递信息。
B. Want使用场景之一是作为startAbility()的参数。
C. 使用Want 启动UIAbility组件有显示Want启动和隐式Want启动两种形式。
D. Want不支持自定义参数。
多选题
- 使用隐式Want启动UIAbility组件时,以下说法正确的是?(B C D)
A. 需要在创建的Want中设置“abilityName”字段。
B. 可以在创建的Want中设置想要启动的UIAbility组件的能力字段,如“entities”。
C. 想要在启动浏览器类型应用内时默认打开网页,可以在创建的Want中设置“uri”字段。
D. 在module.json5配置文件中,“skills”表示应用组件支持的能力。
ArkUI进阶
判断题
-
ForEach提供了一个名为keyGenerator的参数,可以自定义键值的生成规则。如果没有定义keyGenerator函数,则ArkUI框架会使用默认的键值生成函数。正确(True)
-
在初始化渲染时,ForEach会加载数据源的所有数据。如果数据源非常大或有特定的性能需求,建议使用LazyForEach。正确(True)
单选题
- 关于组件复用,以下说法错误的是:(D)
A. 标记为@Reusable的组件从组件树上被移除时,组件和其对应的JSView对象都会被放入复用缓存中。
B. 当列表滑动新的ListItem将要被显示,List组件树上需要新建节点时,将会从复用缓存中查找可复用的组件节点。
C. 找到可复用节点并对其进行更新后添加到组件树中。从而节省了组件节点和JSView对象的创建时间。
D. 可以通过设置cachedCount来指定缓存数量实现组件复用。
- 下列哪项属于精简节点数的方式来优化布局性能。 ( C )
A. 合理控制元素显示与隐藏
B. 给定组件的宽高
C. 移除冗余节点
D. 以上都不是
多选题
- 针对长列表加载这一场景,可以采用哪些手段和方法来提升性能和用户体验:(A B C D)
A. 懒加载:提供列表数据按需加载能力,解决一次性加载长列表数据耗时长、占用过多资源的问题,可以提升页面响应速度
B. 缓存列表项:提供屏幕可视区域外列表项长度的自定义调节能力,配合懒加载设置可缓存列表项参数,通过预加载数据提升列表滑动体验。
C. 组件复用:提供可复用组件对象的缓存资源池,通过重复使用已经创建过并缓存的组件对象,降低相同组件短时间内频繁创建和销毁的开销,提升组件渲染效率。
D. 布局优化:使用扁平化布局方案,减少视图嵌套层级和组件数,避免过度绘制,提升页面渲染效率。
合理使用动画和转场
判断题
- animateTo可以设置组件进行位移动画时的运动路径。错误(False)
单选题
-
模态转场不包括以下哪个类别?( D )
A. 全屏模态转场B. 半模态转场
C. 菜单弹出效果
D. 警告弹窗
E. 气泡弹窗效果 -
属性animation可以在哪些组件中使用?( C )
A. 只能基础组件
B. 只能容器组件
C. 基础组件和容器组件
D. 以上都不对
多选题 -
高级模板将属性动画和出现消失动画封装,开发者只需调用接口,可以轻松完成页面转场。HarmonyOS提供了哪些高级模板?(A C D)
A. 导航转场
B. 组件转场
C. 模态转场
D. 共享元素转场 -
HarmonyOS提供了哪些系统动画能力? (A B C D E)
A. 属性动画B. 显式动画C. 转场动画D. 路径动画E. 粒子动画
Web组件和WebView
判断题
-
Web组件提供具有网页显示能力,@ohos.web.webview提供web控制能力。正确(True)
-
同一页面的多个Web组件,必须绑定不同的WebviewController。
正确(True)
单选题 -
下列关于Web组件的属性,描述错误的是?©
A. fileAccess设置是否开启应用中文件系统的访问。$rawfile(filepath/filename)中rawfile路径的文件不受该属性影响而限制访问
B. imageAccess设置是否允许自动加载图片资源,默认允许
C. javaScriptAccess设置注入JavaScript对象
D. zoomAccess设置是否支持手势缩放,默认允许执行缩放 -
下列关于Webview,描述错误的是?( C )
A. 访问在线网页时需添加网络权限
B. @ohos.web.webview提供web控制能力,web组件提供网页显示的能力
C. 一个WebviewController对象可以控制多个Web组件
D. WebviewController可以控制Web组件各种行为
多选题 -
Web组件支持下列哪些属性或事件?(A B C)
A. fileAccess(fileAccess: boolean)
B. javaScriptAccess(javaScriptAccess: boolean)
C. onConfirm(callback: (event?: { url: string; message: string; result: JsResult }) => boolean)
D. destroy(): void
给应用添加通知和提醒
判断题
- 发布普通文本类型通知,需要设置ContentType类型为ContentType.NOTIFICATION_CONTENT_NORMAL_TEXT。
错误(False) - 构造进度条模板通知,name字段当前需要固定配置为downloadTemplate。
正确(True
单选题 - 在发布进度类型通知前需要查询以下哪一点?(B)
A. 系统是否支持通知模板
B. 系统是否支持进度条模板
C. 系统是否支持文件下载
D. 系统是否设置通知通道 - 下面说法正确的是?(D)
A. 发布进度类型通知,需要设置ContentType类型为ContentType.NOTIFICATION_CONTENT_PICTURE。
B. 调用notificationManager.cancelall()取消所有已发布的通知。
C. 调用notificationManager.update来实现通知的更新。
D. 调用notificationManager.cancel需要传入通知ID。
多选题 - 下面哪些方法可以移除通知?(A B)
A. cancelB. cancelAll C. removeSlotD. removeAll
Native适配开发
判断题
- 当ArkTS侧在import一个so库时,ArkTS引擎会调用ModuleManager加载模块对应的so文件及其依赖。每次加载时都会触发模块的注册。
错误(False) - 导入使用的模块名和注册时的模块名大小写保持一致,如模块名为entry,则so的名字为libentry.so,napi_module中nm_modname字段应为entry,ArkTS侧使用时写作:import xxx from ‘libentry.so’。正确(True)
单选题 - 以下有关线程安全的函数功能说明正确的是。©
A. napi_call_threadsafe_function:创建线程安全函数。
B. napi_release_threadsafe_function:指示线程安全函数可以开始使用。
C. napi_ref_threadsafe_function:指示在主线程上运行的事件循环在线程安全函数被销毁之前不应退出。
D. napi_acquire_threadsafe_function:调用线程安全函数。 - 关于napi_create_async_work接口中注册的execute和complete回调,以下哪个说法是正确的。(A)
A. execute回调函数主要用于执行异步业务逻辑,代码运行在work子线程中
B. execute回调函数主要用于执行异步业务逻辑,代码运行在ArkTS主线程中
C. complete回调函数主要用于将execute回调函数的处理结果反馈给ArkTS应用侧,代码运行在work子线程上
D. complete回调函数主要用于执行异步业务逻辑,代码运行在EventLoop子线程上
多选题 - 关于线程安全函数开发,以下哪些说法是正确的。(ABCD)
A. 在创建线程安全函数对象时,要注册绑定ArkTS应用侧传入的callback回调和线程安全回调napi_threadsafe_function_call_js
B. 在Native接口实现中,会临时返回空值或者promise对象给ArkTS应用侧,以避免应用侧主线程阻塞
C. C++子线程将会执行异步业务逻辑,并将处理结果写入上下文数据中。同时,调用napi_call_threadsafe_function将napi_threadsafe_function_call_js抛给EventLoop事件循环
D. 在线程安全回调napi_threadsafe_function_call_js执行过程中,将会通过调用napi_call_function或者napi_resolve_deferred把异步处理结果反馈到ArkTS应用侧
三方库的基本使用
判断题
- 可以通过ohpm uninstall 指令下载指定的三方库。错误(False)
- @ohos/lottie使用loadAnimation方法加载动画。
正确(True)
单选题 - 下面哪个API可以控制动画的播放?(A)
A. play() B. pause() C. stop() D. destroy() - 通过ohpm安装@ohos/lottie后,在哪个文件中会生成相关的配置信息?(B)
A. module.json5
B. oh-package.json5
C. app.json5
D. main_page.json
多选题 - 下列哪些是加载动画API的配置项:(A B C D)
A. containerB. rendererC. pathD. autoplay
HarmonyOS SDK开放能力简介
判断题
- HarmonyOS SDK是HarmonyOS面向应用和服务开发的开放能力合集。
正确(True) - HarmonyOS SDK支持“1+8+N”全场景设备。正确(True)
单选题 - 以下服务,哪个属于应用框架能力:©
A. Account Kit
B. Network Kit
C. ArkUI
D. Audio Kit
多选题 - Harmony OS应用是能够在Harmony OS设备(例如,手机、平板等)上运行的应用程序,支持以下哪些形态:(A C)
A. 需要下载安装的应用
B. 快应用
C. 轻量级,具备免安装,即用即走,服务直达,自由流转等关键特征的元服务
D. Web网站 - HarmonyOS SDK开放能力覆盖以下哪几种领域:(A B C D E)
A. 应用框架
B. 应用服务
C. 系统
D. 媒体
E. AIF. 图形
质量建议与测试指南
判断题
- 兼容性测试是指测试长时间运行故障率(崩溃、冻屏等)、长时间运行内存资源异常等。错误(False)
- 敏感个人信息是一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息,以及不满十四周岁未成年人的个人信息。正确(True)
单选题 - 性能测试中关于时延的描述,以下说法错误的是:(D)
A. 应用内点击操作完成时延:测量从应用内点击操作开始到应用界面切换加载完成的耗时时延(毫秒)。
B. 界面连续丢帧数:测量应用启动过程、使用过程的屏幕界面连续丢帧卡顿(帧间隔)时长次数。
C. 应用内点击操作响应时延:测量从应用内点击操作开始到应用界面开始变化的第一帧的耗时(毫秒)。
D. 热启动完成时延:应用首次启动时间,即点击触发启动开始到应用启动加载完成的时间。 - 关于稳定性测试,以下说法错误的是:©
A. 应用冻屏:指整个软件系统是正常的,某个应用出现屏幕卡住不动或一段时间内操作未及时响应的故障,也即用户俗称的应用死机、卡死、卡屏、无响应问题。
B. 应用崩溃:指在用户正常操作的情况下,某个应用突然出现闪退、异常停止运行等完全不可用的情况。
C. 踩内存:指在用户正常操作的情况下,应用对内存使用不当,导致有限的内存资源申请超上限或使用完未被释放。
D. 故障率:指单位时间内发生稳定性故障的次数,也称失效率,软件稳定性通常采用故障率来衡量。
多选题 - 关于测试工具,以下说法正确的有:(A B C D)
A. 单元测试框架(hypium)是HarmonyOS上的测试框架,提供测试用例编写、执行、结果显示能力,用于测试系统或应用接口。
B. UI测试框架是HarmonyOS应用界面测试框架,提供UI控件查找,点击,检视,按键注入等API并且支持跨设备测试。HarmonyOS应用开发者基于该测试框架可以编写和运行简洁可靠的UI自动化测试用例。
C. DevEco Testing是一款单机使用的专项测试工具,针对应用的开发和测试提供了相应的测试能力。DevEco Testing将测试能力以测试服务卡片形式的呈现给开发者和测试人员,可方便一键执行测试任务,并提供了测试报告和分析,辅助开发者和应用测试人员发现应用和产品问题,保障应用质量。
D. HarmonyOS应用云测平台,提供兼容性、安全、UX、性能、功耗、稳定性测试能力,支持流转、服务卡片等HarmonyOS关键特征自动化测试,支持华为1+8多设备运行,帮助开发者全方位看护APP基础质量。
应用/元服务上架
判断题
- 一个完整的发布软件包必须包含一个Profile文件。正确(True)
- 编译打包的软件包存放在项目目录build > outputs > default下。正确(True)
单选题 - 创建应用时,应用包名需要和在DevEco Studio中创建工程时哪个字段保持一致?©
A. package
B. name
C. bundleName
D. appName - 上传发布软件包时,软件包的格式是什么?(B)
A. .zip
B. .app
C. .apk
D. .hap
多选题 - 在DevEco Studio配置签名信息时,需要上传哪些文件?(A B C)
A. 密钥库文件.p12文件
B. 签名文件.cer文件
C. Profile文件
D. 密钥证书.pem文件
课后习题持续更新中,现有题目仅供参考,敬请关注后续更丰富的学习资源。