HarmonyOS 基础知识记录(一)

43 阅读3分钟

一、基础概念与核心特性

  1. HarmonyOS 是什么?与 Android/iOS 的主要区别是什么?

    • HarmonyOS 是华为开发的面向全场景的分布式操作系统,支持跨设备协同、低延迟和高安全性。
    • 与 Android/iOS 的主要区别在于其分布式架构和微内核设计,支持一次开发多端部署,强调设备间的无缝协同。
  2. HarmonyOS 的四大技术特性是什么?

    • 分布式软总线、分布式数据管理、分布式任务调度、设备虚拟化。
  3. 鸿蒙的“一次开发,多端部署”如何实现?

    • 通过原子化服务(Atomic Service)和自适应 UI 框架,开发者只需编写一套代码,即可适配手机、平板、智能手表、IoT 设备等不同终端。

二、ArkUI 与开发框架

  1. ArkUI 的特点是什么?与传统的 UI 开发有何不同?

    • 答案:ArkUI 是鸿蒙的声明式 UI 开发框架,支持 TypeScript/ArkTS 语言,强调数据驱动视图更新,通过状态管理(@State@Prop 等装饰器)实现高效渲染。
  2. 什么是 ArkTS?它与 TypeScript 的区别?

    • ArkTS 是鸿蒙基于 TypeScript 扩展的语言,强化了声明式语法和状态管理能力,例如 @Component@Builder 等装饰器,更适合鸿蒙的 UI 开发。
  3. 解释鸿蒙的 Ability 概念,Page Ability 和 Service Ability 的区别?

    • Page Ability:负责 UI 交互,对应一个页面。
    • Service Ability:后台运行,无 UI,用于执行长时任务(如音乐播放)。

三、分布式能力

  1. 如何实现跨设备数据同步?

    • 答案:通过分布式数据管理(Distributed Data Object/Relational Database)和分布式文件系统,设备间通过统一的帐号体系和安全通道同步数据。
  2. 描述分布式任务调度的流程。

    • 设备发现 → 能力协商 → 任务分发 → 结果回调。例如,手机上的应用可以调用附近的平板摄像头进行拍照。
  3. 什么是“流转”(Cross-Device Migration)?如何实现?

    • 用户将任务从一个设备迁移到另一个设备(如从手机切换到电视播放视频)。通过 continuationManager API 实现状态保存与恢复。

四、性能优化与调试

  1. 鸿蒙应用启动速度优化的常见手段有哪些?

    • 减少主线程阻塞、延迟加载非必要资源、使用预加载(Preload)、合理使用多线程(Worker)。
  2. 如何分析鸿蒙应用的性能瓶颈?

    • 使用 DevEco Studio 的 Profiler 工具(CPU、内存、网络分析),或通过 HiLog 打印关键节点耗时。
  3. 鸿蒙的“原子化服务”对性能有何影响?

    • 原子化服务轻量化(无需安装即点即用),减少资源占用,但需注意服务拆分粒度,避免过度分散。

五、实战与项目经验

  1. 你如何实现一个多设备适配的鸿蒙应用?

    • 使用响应式布局(栅格系统、百分比单位)、资源分层(resources/baseresources/tablet 等),结合 @ohos.display 获取设备信息动态调整 UI。
  2. 在鸿蒙开发中遇到过哪些挑战?如何解决的?

    • 示例:跨设备通信延迟问题 → 优化数据包大小,使用分布式消息队列;或 UI 渲染卡顿 → 使用异步线程处理数据,减少主线程负担。
  3. 如何保证鸿蒙应用的安全性?

    • 使用权限管理(ohos.permission)、数据加密(HiChain)、代码混淆(ProGuard),遵循最小权限原则。

六、HarmonyOS 4.0 新特性

  1. 元服务(Meta Service)是什么?

    • 轻量化服务,支持动态组合和场景化智能推荐(如根据用户位置自动推送附近服务)。
  2. Stage 模型与 FA 模型的区别?

    • Stage 模型是鸿蒙 3.0+ 的推荐架构,强调 UI 与逻辑分离,支持多实例运行,更适合复杂应用。