- 博客(140)
- 资源 (1)
- 收藏
- 关注
原创 鸿蒙高级课程笔记2—应用性能优化
在开发HarmonyOS应用时,优化应用性能是至关重要的。课程从ArkTS高性能编程、减少丢帧卡顿、提升应用启动和响应速度,三方面讲解如何有效提升用户体验。然后会介绍一些常用的性能调优工具,去帮助开发者分析如何去做性能调优和调试问题定位。
2026-02-08 22:57:59
131
原创 鸿蒙高级课程笔记1—应用DFX能力介绍
围绕开发者,构建三方应用和设备从开发到维护全生命周期所必需、有竞争力、有特色的调试调优、定位、维护能力。这些都属于DFX的范围。HarmonyOS为应用、设备、运维(为运行态提供运维能力)、开发阶段提供DFX能力。DFX全景如下:DFX设计是保证产品和应用质量的主要方法。DFX设计主要范围:完备的事件打点接口;方便的事件查看工具;轻量灵活的平台部署;开发者可以通过系统提供的接口监听到系统事件,比如崩溃、卡死事件应用重启后回调相关接口,接口通过AppEventInfo结构返回数据。系统提供的常用事件说明如下图
2026-02-02 00:14:18
103
原创 鸿蒙中级课程笔记13—应用/元服务上架
AppGallery Connect是华为推出的应用一站式服务平台,致力于为开发者提供应用/元服务开发、分发、分析、运营全生命周期服务,构建全场景智慧化的应用生态。HarmonyOS应用/元服务开发完成后,需要经过AppGallery Connect上架发布,才能分发到应用市场/负一屏等各渠道。本课程将通过构建一个HarmonyOS应用,来介绍HarmonyOS应用/元服务的创建、编译和上架操作。HarmonyOS会。
2026-02-01 23:47:25
799
原创 鸿蒙中级课程笔记12—应用质量建议与测试指南
定义HarmonyOS应用及元服务兼容性、稳定性、性能、功耗、安全、UX测试标准和全场景分布式流转测试标准,覆盖HarmonyOS应用、元服务、全场景分布式应用接续等HarmonyOS关键特征,帮助开发者解决测什么的问题。测试标准简介和相关资源获取方式测试标准名称简介相关资源兼容性测试应用与OS兼容、应用与设备兼容、应用升级兼容等稳定性测试长时间运行故障率(崩溃、冻屏等)、长时间运行内存资源异常性能测试时延、帧率流畅体验和内存占用、CPU占用、线程数等资源占用约束功耗测试。
2026-02-01 19:52:59
109
原创 鸿蒙中级课程笔记11—元服务开发
注意HarmonyOS元服务只能采用“元服务API集”进行开发,且只支持Stage模型、只支持ArkTS接口;开发者在DevEco Studio中选择开发元服务时,工具将自动筛选“元服务API集使用配套的HarmonyOS SDK开发的元服务,只能运行在系统软件版本为HarmonyOS NEXT Developer Preview1及以上版本的设备上。在万物互联时代,人均持有设备量不断攀升,设备种类和使用场景更加多样,使得应用开发、应用入口变得更加复杂。
2026-02-01 19:49:52
827
原创 鸿蒙中级课程笔记10—HarmonyOS SDK开放能力简介
HarmonyOS SDK是HarmonyOS面向应用和服务开发的开放能力合集,基于HarmonyOS SDK前沿技术,可以构建焕然一新的HarmonyOS应用。能力覆盖应用框架、应用服务、系统、媒体、图形、AI六大领域。HarmonyOS应用是能够在HarmonyOS设备(例如,手机、平板等)上运行的应用程序,支持两种形态需要下载安装的应用轻量级,具备免安装,即用即走,服务直达,自由流转等关键特征的元服务端侧能力开放:开放能力通过SDK方式呈现,应用通过集成SDK的方式进行集成。
2026-02-01 13:38:27
613
原创 鸿蒙中级课程笔记8—Native适配开发2—Node-API支持的数据类型和接口
接口功能说明创建一个异步资源上下文环境(不支持与async_hook相关能力)。在异步资源上下文环境中回调JS函数(不支持与async_hook相关能力)。销毁先前创建的异步资源上下文环境(不支持与async_hook相关能力)。创建一个回调作用域(不支持与async_hook相关能力)。关闭先前创建的回调作用域(不支持与async_hook相关能力)。
2026-02-01 09:28:17
893
原创 鸿蒙中级课程笔记8—Native适配开发
是基于Node.js 18.x LTS的Node-API规范扩展开发的机制,为开发者提供了ArkTS/JS与C/C++模块之间的交互能力。它提供了一组稳定的、跨平台的API,可以在不同的操作系统上使用。本文中如无特别说明,后续均使用Node-API指代HarmonyOS Node-API能力。说明HarmonyOS Node-API与Node.js 18.x LTS的Node-API规范的接口异同点,详见Node-API参考文档。
2026-01-31 21:53:40
642
原创 鸿蒙中级课程笔记6—使用ArkWeb开发
开发者可以使用Web组件加载本地或者在线网页。Web组件提供生命周期回调接口,用于感知状态变化和处理业务。Web组件的状态主要包括:Controller绑定到Web组件、网页加载开始、网页加载进度、网页加载结束、页面即将可见。Web页面保活可以参考。自定义组件析构销毁时执行函数,Web组件会被销毁,Web组件与WebviewController解绑,js运行环境也会一并销毁。Web组件网页正常加载过程中的回调事件。
2026-01-30 10:18:02
93
原创 鸿蒙中级课程笔记5—访问和操作文件—应用文件访问和操作、用户文件访问和操作
应用需要对应用文件目录下的应用文件进行查看、创建、读写、删除、移动、复制、获取属性等访问操作,下文介绍具体方法。
2026-01-29 12:06:56
478
原创 鸿蒙中级课程笔记4—应用程序框架进阶2—Stage模型应用程序包结构、应用间跳转、HSP、HAR
为了让开发者能对应用程序包在不同阶段的形态有更加清晰的认知,分别对开发态、编译态、发布态的应用程序结构展开介绍。
2026-01-28 17:17:38
40
原创 鸿蒙中级课程笔记4—应用程序框架进阶1—Stage模型应用组成结构、UIAbility启动模式、启动应用内UIAbility
一个UIAbility可以对应多个页面,在不同的场景下启动该UIAbility时需要展示不同的页面,例如从一个UIAbility的页面中跳转到另外一个UIAbility时,希望启动目标UIAbility的指定页面。UIAbility的启动分为两种情况:UIAbility冷启动和UIAbility热启动。UIAbility冷启动:指的是UIAbility实例处于完全关闭状态下被启动,这需要完整地加载和初始化UIAbility实例的代码、资源等。
2026-01-27 12:17:12
651
原创 鸿蒙中级课程笔记3—ArkUI进阶6—ArkUI性能优化实践(长列表加载性能优化)
使用LazyForEach懒加载这项技术后,相比ForEach这种加载方式,在列表数据量较小(100条内)且数据一次性全量加载不是性能瓶颈时,两者各项性能指标差异不大。但当列表数据较长特别是达到10000条数据量后,ForEach的上述4项性能指标会有“指数级别”的显著劣化,滑动会出现明显的卡顿,甚至会出现应用crash等现象;而LazyForEach因为采用了懒加载技术能明显减少首屏完全显示所用时间,降低应用的独占内存,提高页面滑动帧率,带来更好的性能。
2026-01-26 17:49:35
698
原创 鸿蒙中级课程笔记3—ArkUI进阶5—ArkUI性能优化实践(布局性能优化)
使用更高级的布局使页面扁平化,如ReleativeContainer、Grid布局等。
2026-01-26 14:49:22
312
原创 鸿蒙中级课程笔记3—ArkUI进阶4—沉浸式&深色模式
深色模式(Dark Mode)又称为暗色模式,是与日常应用使用过程中的浅色模式(Light Mode)相对应的一种UI主题。深色模式相较浅色模式更加柔和,能减少亮度对用户眼睛造成的刺激和疲劳,此外深色模式能在一定程度上降低应用功耗,提升续航表现。应用深色模式适配,需遵循基本的UX设计原则,保障应用页面内容的易读性、舒适性和一致性,具体可参考深色模式设计原则。应用适配过程主要包含。
2026-01-26 12:25:28
601
原创 鸿蒙中级课程笔记3—ArkUI进阶3—给应用添加交互(手势)
可以通过设置属性,控制默认的多层级手势事件竞争流程,更好地实现手势事件。目前,responseRegion属性和hitTestBehavior属性可以控制Touch事件的分发,从而可以影响到onTouch事件和手势的响应。而绑定手势方法属性可以控制手势的竞争从而影响手势的响应,但不能影响到onTouch事件。
2026-01-25 22:21:26
563
1
原创 鸿蒙中级课程笔记3—ArkUI进阶2—给应用添加交互(弹窗)
弹窗一般指打开应用时自动弹出或者用户行为操作时弹出的UI界面,用于短时间内展示用户需关注的信息或待处理的操作。从ArkUI组件树层级上来看,Overlay浮层、弹窗、模态、带Order的Overlay浮层都挂载在Root节点下。弹窗、模态、带Order的Overlay浮层根据设置的层级(数字大小)进行逐层显示,并且全部显示在Overlay浮层上面。如图所示:对于一个多页面应用,基本树结构如下所示。多个Page页面之间使用的接口进行跳转。和组成的页面可以通过接口进行跳转。而以及。
2026-01-25 17:58:25
726
原创 鸿蒙中级课程笔记2—状态管理V2—@ReusableV2装饰器:组件复用
ReusableV2仅能装饰V2的自定义组件,即@ComponentV2装饰的自定义组件。并且仅能将@ReusableV2装饰的自定义组件作为V2自定义组件的子组件使用。@ReusableV2同样提供了和的生命周期,在组件被回收时调用aboutToRecycle,在组件被复用时调用aboutToReuse,但与@Reusable不同的是,aboutToReuse没有入参。在回收阶段,会递归地调用所有子组件的aboutToRecycle回调(即使子组件未被标记可复用);
2026-01-24 22:29:09
382
原创 鸿蒙中级课程笔记2—状态管理V2—@ObservedV2装饰器和@Trace装饰器:类属性变化观测
ObservedV2装饰器与@Trace装饰器需要配合使用,单独使用@ObservedV2装饰器或@Trace装饰器没有任何作用。被@Trace装饰器装饰的属性property变化时,仅会通知property关联的组件进行刷新。在嵌套类中,嵌套类中的属性property被@Trace装饰且嵌套类被@ObservedV2装饰时,才具有触发UI刷新的能力。
2026-01-24 21:58:22
367
原创 鸿蒙中级课程笔记2—状态管理V2—@Computed装饰器:计算属性
Computed为方法装饰器,装饰getter方法。@Computed会检测被计算的属性变化,当被计算的属性变化时,@Computed只会被求解一次。不建议在@Computed中修改变量,错误的使用会导致数据无法被追踪或appfreeze等问题,详情见使用限制。但需要注意,对于简单计算,不建议使用计算属性,因为计算属性本身也有开销。对于复杂的计算,@Computed能带来性能收益。
2026-01-24 20:07:21
432
原创 鸿蒙中级课程笔记2—状态管理V2—@Monitor装饰器:状态变量修改监听
Monitor装饰器用于监听状态变量修改,使得状态变量具有深度监听的能力:@Monitor装饰器支持在@ComponentV2装饰的自定义组件中使用,未被状态变量装饰器@Local@Param@Provider@Consumer@Computed装饰的变量无法被@Monitor监听到变化。@Monitor装饰器支持在类中与配合使用,不允许在未被@ObservedV2装饰的类中使用@Monitor装饰器。未被@Trace装饰的属性无法被@Monitor监听到变化。
2026-01-24 18:56:24
458
原创 鸿蒙中级课程笔记2—状态管理V2—@Provider装饰器和@Consumer装饰器:跨组件层级双向同步
Provider,即数据提供方,其所有的子组件都可以通过@Consumer绑定相同的key来获取@Provider提供的数据。@Consumer,即数据消费方,可以通过绑定同样的key获取其最近父节点的@Provider的数据,当查找不到@Provider的数据时,使用本地默认值。图示如下。@Provider和@Consumer装饰的数据类型需要一致。@Provider和@Consumer强依赖自定义组件层级,@Consumer会因为所在组件的父组件不同,而被初始化为不同的值。
2026-01-24 16:35:00
543
原创 鸿蒙中级课程笔记2—状态管理V2—@Once、@Event
Once必须搭配@Param使用,单独使用或搭配其他装饰器使用都是不允许的。@Once不影响@Param的观测能力,仅针对数据源的变化做拦截。@Once与@Param装饰变量的先后顺序不影响使用功能。@Once与@Param搭配使用时,可以在本地修改@Param变量的值。由于@Param装饰的变量在本地无法更改,子组件使用@Event装饰器装饰回调方法属性并在父组件中设置该回调的实现,可以实现子组件调用回调更新父组件数据源变量,再通过@Local。
2026-01-24 16:30:43
527
原创 鸿蒙中级课程笔记2—状态管理V2—@Param
Param表示组件从外部传入的状态,使得父子组件之间的数据能够进行同步:@Param装饰的变量支持本地初始化,但不允许在组件内部直接修改。被@Param装饰的变量能够在初始化自定义组件时从外部传入,当数据源也是状态变量时,数据源的修改会同步给@Param。@Param可以接受任意类型的数据源,包括普通变量、状态变量、常量、函数返回值等。@Param装饰的变量变化时,会刷新该变量关联的组件。
2026-01-24 13:20:15
545
原创 鸿蒙中级课程笔记2—状态管理V2—@Local
Local表示组件内部的状态,使得自定义组件内部的变量具有观察变化的能力:被@Local装饰的变量无法从外部初始化,因此必须在组件内部进行初始化。当被@Local装饰的变量变化时,会刷新使用该变量的组件。@Local支持观测number、boolean、string、Object、class等基本类型以及ArraySetMapDate等内嵌类型。@Local的观测能力仅限于被装饰的变量本身。当装饰简单类型时,能够观测到对变量的赋值;当装饰对象类型时,仅能观测到对对象整体的赋值;
2026-01-24 11:40:42
640
原创 React中文网课程笔记4—常用工具配置
React 可与编辑器、TypeScript、浏览器扩展和编译器等多种工具集成。本节说明这些工具的配置。
2026-01-07 22:10:46
208
原创 React中文网课程笔记3—创建
React 从诞生之初就是可被渐进式使用的。注意:开发者应该来创建应用。除 React 中文网外,还存在许多支持 React 的在线代码编辑器:,或者。
2026-01-05 21:30:31
892
原创 鸿蒙中级课程笔记1—CodeGenie功能介绍
CodeGenie以独立插件形式安装在DevEco Studio中,对接了优质的大模型,进行了相关语料的增训和知识库的整理,通过对鸿蒙应用开发工具链的集成和调用,针对鸿蒙应用开发场景,提供AI能力辅助开发。DevEco Studio从5.0版本开始支持安装CodeGenie,从6.0版本开始预置CodeGenie。
2025-12-30 22:21:42
743
原创 鸿蒙加解密
简单来说,是鸿蒙安全开发的“工具箱”。使用时记住三个核心:1) 导入正确的模块;2) 选择适合的算法(推荐AES-GCM);3) 将密钥交给KeyStore管理以确保安全。
2025-12-22 20:04:53
415
原创 鸿蒙三方库—harmony-utils使用
一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。是harmony-utils拆分出来的一个子库,包含PickerUtil、PhotoHelper、ScanUtil。
2025-12-16 17:48:08
111
原创 鸿蒙ArkTS指南—ArkUI
ArkTSArkTS是优选的主力应用开发语言,围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展。扩展能力包含声明式UI描述、自定义组件、动态扩展UI元素、状态管理和渲染控制。状态管理作为基于ArkTS的声明式开发范式的特色,通过功能不同的装饰器给开发者提供了清晰的页面更新渲染流程和管道。状态管理包括UI组件状态和应用程序状态,两者协作可以使开发者完整地构建整个应用的数据更新和UI渲染。ArkTS语言的基础知识请参考初识ArkTS语言。布局。
2025-12-16 17:44:34
538
原创 ES6 学习笔记3—7数值的扩展、8函数的扩展、9数组的扩展
这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。对象上面,行为完全保持不变。
2025-12-08 20:34:56
236
代码优化——cell重用
2018-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅