自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

原创 HarmonyOS 6.0 OCR文字识别——手机变身扫描仪的正确姿势

本文介绍了如何在HarmonyOS NEXT中使用CoreVisionKit实现端侧OCR文字识别功能。主要内容包括: OCR核心功能:支持中/英/日/韩/繁体识别,提供textRecognition引擎和TextRecognitionResult结果解析 开发流程三步骤: 初始化识别引擎 调用recognizeText方法识别图像 释放引擎资源 结果处理:解析三级结构(文字块→行→字),支持置信度过滤低质量结果 实战场景:发票识别提取关键信息、名片识别获取联系方式、文档识别转文本 优势:完全端侧运行,不依

2026-08-11 09:17:05 319

原创 HarmonyOS 6.0 PixelMap像素级图片操作——马赛克/灰度/证件照换底一次讲透

本文介绍了如何使用HarmonyOS NEXT的PixelMap API进行像素级图像处理。通过readPixelsToBuffer和writePixelsToBuffer两个核心API,开发者可以读取和修改图像像素数据。文章详细讲解了7种常见像素操作:1)像素读写基础流程;2)马赛克效果实现;3)灰度转换;4)反色效果;5)亮度调节;6)圆角裁剪(摘要未完整展示)。每种操作都提供了核心代码示例,并解释了技术原理和关键参数设置,适用于各种图像处理场景。

2026-08-11 09:16:50 344

原创 HarmonyOS 6.0 AbilityStage与多HAP初始化——大型应用拆模块的正确打开方式

AbilityStage是HarmonyOS中HAP模块级别的初始化入口,类似Android的Application。每个HAP模块首次加载时,系统会先创建对应的AbilityStage实例并触发其生命周期回调。主要功能包括: 四大核心回调: onCreate:模块级初始化(数据库、网络、预加载资源) onAcceptWant:管理specified启动模式的实例复用 onConfigurationUpdate:响应系统配置变更 onMemoryLevel:处理内存告警释放资源 多HAP管理: 每个HAP模

2026-08-11 09:16:38 365

原创 HarmonyOS 6.0 分布式数据对象——改一个属性就自动同步,跨设备数据协同这么简单

HarmonyOS NEXT 的 distributedDataObject 实现了跨设备数据实时同步,让开发者可以像操作普通对象一样管理分布式数据。通过 create() 创建数据对象,setSessionId() 加入同步会话组网,on('change') 监听数据变更,修改属性会自动同步到同组设备。该功能适用于笔记同步等协同场景,支持简单类型和嵌套对象,但不适用于函数和符号。同步需满足同一账号、局域网和相同应用等前置条件。与分布式KV存储相比,distributedDataObject 操作更直观、同

2026-08-11 09:16:26 241

原创 HarmonyOS 6.0 应用接续onContinue——手机编辑到一半,平板接着搞

HarmonyOS NEXT的应用接续功能(Continuation)实现了跨设备无缝切换体验。开发者需在module.json5中配置continuable:true,并通过onContinue方法保存当前状态到wantParam参数,返回AGREE同意迁移。目标设备通过onCreate方法检测CONTINUATION启动原因,从want.parameters恢复数据。关键点包括:使用singleton模式避免多实例、通过AppStorage传递页面数据、大数据需采用文件中转(wantParam限制约10

2026-08-11 09:16:10 412

原创 HarmonyOS 6.0 NFC标签读写与碰一碰连接——物联网应用的近场入口

本文介绍了HarmonyOS NEXT中NFC(近场通信)的核心用法,涵盖标签识别、NDEF数据读写和前台分发机制。主要内容包括: NFC基础概念:包括标签(Tag)、NDEF数据格式、前台分发和AAR记录。 权限配置:使用NFC功能需要声明NFC_TAG和NFC_ADAPTER权限。 标签检测:通过Ability的onNewWant方法接收和处理NFC标签信息,判断标签类型并获取数据。 NDEF读写: 读取:获取NDEF消息和记录,支持URI、文本等类型。 写入:创建并写入NDEF消息,支持URI、文本、

2026-08-10 11:35:59 207

原创 HarmonyOS 6.0 蓝牙BLE设备通信实战——智能手环/蓝牙秤接入全流程

本文介绍了基于HarmonyOS NEXT实现BLE(低功耗蓝牙)通信的全流程,主要用于健康类APP连接智能手环、蓝牙秤等设备。主要内容包括: BLE核心概念:外设(Peripheral)、中心设备(Central)、GATT协议、服务(Service)和特征值(Characteristic) 开发步骤: 权限配置:声明蓝牙访问权限 设备扫描:使用ble.startBLEScan()发现周边设备 GATT连接:通过createGattClientDevice建立连接并发现服务 数据交互:支持特征值读取、写入

2026-08-10 11:35:04 207

原创 HarmonyOS 6.0 Worker线程与主线程通信实战——TaskPool之外的另一种并发选择

文章摘要: 本文对比了TaskPool和Worker的使用场景:TaskPool适合一次性任务(如计算、图片处理),而Worker适用于长驻后台线程的任务(如WebSocket连接、数据流处理)。Worker通过持久线程实现双向通信(postMessage/onmessage),生命周期由开发者控制。文章详细介绍了Worker的创建、通信和销毁方法,包括主线程与Worker线程的交互逻辑,并通过Fibonacci计算示例展示Worker避免UI卡顿的优势。关键区别在于TaskPool自动管理线程,而Work

2026-08-10 11:34:00 204

原创 HarmonyOS 6.0 UIAbility生命周期与多实例模式实战

本文详细介绍了UIAbility的生命周期及其多实例模式,重点解析了各回调函数的执行时机和最佳实践。UIAbility生命周期包括onCreate(全局初始化)、onWindowStageCreate(加载页面)、onForeground/onBackground(资源管理)以及onDestroy(清理资源)。文章通过代码示例和流程图,对比了UIAbility生命周期与组件生命周期的区别,并强调了关键注意事项(如onBackground需在5秒内完成)。最后通过一个可交互的模拟页面,帮助开发者直观理解UIA

2026-08-10 11:32:48 199

原创 HarmonyOS 6.0 WebSocket实时通信实战——从轮询到双向推送的进化

本文介绍了在HarmonyOS NEXT中使用@kit.NetworkKit实现WebSocket的方法,适用于实时交互场景如聊天室、股票行情等。内容涵盖基础连接建立、消息收发、断线重连与心跳检测三大核心功能。通过代码示例演示了如何创建WebSocket连接、处理连接状态变化、发送接收消息,并实现自动重连机制和心跳检测来保证连接稳定性。特别强调WebSocket相比HTTP轮询的优势:一次握手建立持久连接、支持服务端主动推送、全双工通信模式。最后提供了连接管理的最佳实践,包括错误处理和资源释放。

2026-08-10 11:31:57 278

原创 HarmonyOS 6.0 EffectKit智能取色与图片滤镜——动态主题色的终极实现

本文介绍了HarmonyOS NEXT提供的EffectKit工具包,重点讲解了其ColorPicker智能取色和Filter图片滤镜两大核心功能。ColorPicker支持三种取色方式:主色(图片中最具代表性的颜色)、平均色(所有像素的平均颜色)和Top N比例色(按占比排序的多种颜色),开发者可根据不同场景选择合适的取色策略。文章通过示例代码展示了如何从资源图片中提取颜色,并应用于UI元素,实现动态主题色效果。同时提到EffectKit与ImageKit配合使用,通过PixelMap处理图片资源,为开发

2026-08-06 09:16:39 303

原创 HarmonyOS 6.0 PersistenceV2持久化存储——V2时代的磁盘级状态管理

PersistenceV2 是 API 12 推出的全新持久化方案,通过 @ObservedV2 + @Trace 实现属性级自动持久化。核心 API connect 可绑定持久化对象,@Trace 修饰的属性变更会自动落盘,无需手动保存。支持自定义存储 key、类型推断和手动 save 机制,并提供 remove/keys 等管理接口。相比 PersistentStorage,解决了初始化时序、数据同步和复杂类型支持等问题,大幅简化了状态持久化流程。(摘要字数:150字)

2026-08-06 09:15:16 329

原创 HarmonyOS 6.0 @Computed计算属性与@Monitor深度监听——V2状态派生与追踪

本文介绍了HarmonyOS应用开发中@Computed和@Monitor两个关键装饰器的使用。@Computed用于自动缓存派生状态的计算结果,仅在依赖项变化时重新计算,支持链式依赖和编译期静态分析。@Monitor则提供了多变量深度监听能力,可获取变化前后的值。文章通过商品总价计算、列表筛选等实例,展示了如何利用这些特性优化状态管理,避免不必要的重复计算,从而提升应用性能。这两个API有效解决了早期@Watch功能受限的问题,为HarmonyOS应用开发带来了更高效的状态处理方案。

2026-08-06 09:13:33 337

原创 HarmonyOS 6.0 @Provider/@Consumer跨层级双向同步——V2替代@Provide/@Consume

本文介绍了 HarmonyOS API 12 推出的 @Provider/@Consumer 跨组件通信方案,相比 V1 的 @Provide/@Consume 有显著改进。主要特性包括:1)支持 @Consumer 默认值兜底,避免找不到 Provider 时崩溃;2)允许同名 @Provider 重载,采用就近查找原则;3)支持 function 类型数据传递;4)实现双向绑定,子组件修改可同步到父级;5)通过 aliasName 灵活匹配数据源。新方案解决了 V1 的主要痛点,使跨层级通信更稳定可靠。

2026-08-06 09:11:52 355

原创 HarmonyOS 6.0 @ComponentV2 + @Local + @Param:V2组件的全新写法

HarmonyOS NEXT API 12 引入了 @ComponentV2 状态管理新体系,重构了组件状态模型。新方案通过 @Local 和 @Param 明确区分状态职责:@Local 仅管理组件内部可修改的状态,禁止外部传入;@Param 则专用于接收父组件传入的只读数据,强制单向数据流。与 V1 体系相比,V2 通过装饰器隔离(@ComponentV2 与 @Component 互斥)和职责分离,解决了 @State 职责模糊和 @Link 语法繁琐的问题。同时,@Local 需配合 @Observ

2026-08-06 09:10:12 362

原创 HarmonyOS 6.0 ComponentContent与UIContext解耦——HarmonyOS NEXT脱离组件调UI的正确姿势

HarmonyOS NEXT API 12引入了ComponentContent和UIContext解耦方案,解决了ViewModel和服务层无法直接操作UI的问题。UIContext作为UI操作的统一入口,提供getPromptAction()、getRouter()等核心API,确保多窗口场景下的精准控制。ComponentContent将@Builder封装为可传递的UI实体,配合wrapBuilder实现跨层级UI交互,使弹窗、路由等操作不再依赖组件实例。该方案显著提升了UI控制的灵活性和代码复用性

2026-08-03 11:02:11 324

原创 HarmonyOS 6.0 半模态bindSheet与全模态bindContentCover——HarmonyOS NEXT弹窗层级的终极方案

HarmonyOS NEXT API 12引入了bindSheet和bindContentCover两种弹窗交互方式,取代传统的CustomDialogController。bindSheet实现半模态弹窗,通过@State布尔值控制显示/隐藏,支持多档位高度调节(SheetSize.MEDIUM/LARGE或自定义vp值)和生命周期回调(onWillAppear/onAppear等)。开发者可使用@Builder自定义弹窗内容,构建评论面板、表单等复杂界面。注意detents与height参数互斥,且bi

2026-08-03 10:59:21 184

原创 HarmonyOS 6.0 浮层OverlayManager与悬浮控件——Page之上的常驻UI层管理方案

本文介绍了HarmonyOS API 12新增的OverlayManager浮层管理器,用于解决悬浮控件跨页面常驻和层级管理问题。主要内容包括: 层级定位:OverlayManager位于Page之上、Dialog之下,适用于常驻悬浮UI,与Toast/Popup等模态弹窗区分使用场景。 核心用法: 通过UIContext获取OverlayManager实例 使用ComponentContent包装@Builder构建浮层内容 通过add/remove/show/hide方法管理浮层生命周期 关键特性: 支

2026-08-03 10:57:48 373

原创 HarmonyOS 6.0 AppStorageV2跨页面全局状态——从“传参地狱“到全局共享的终极方案

connect默认用类名作为key,但有时需要同一类型存多个实例——这时可以指定自定义key。remove删除指定key的数据,keys查看所有key。@Entry// 指定自定义key 'mainPlayer'// 查看所有keybuild() {Text(`当前播放:${thisimport {

2026-08-03 10:55:12 367

原创 HarmonyOS 6.0 @ObservedV2与@Trace深度观测——V2状态管理的精准刷新利器

HarmonyOS API 12引入了@ObservedV2和@Trace新特性,解决了V1时代嵌套对象属性变更无法触发UI刷新的痛点。与V1的"类级"观测不同,V2实现了"属性级"精准刷新:只需用@ObservedV2装饰类、@Trace标记需要观测的属性,即可实现深层嵌套属性的自动更新。新方案支持Map/Set类型,并与@ComponentV2、@Local协同工作,构建完整的V2状态管理体系。开发者现在可以精准控制哪些属性变化需要触发UI刷新,无需再采用整体赋值的workaround方法。

2026-08-03 10:52:47 221

原创 HarmonyOS 6.0 剪贴板与跨应用数据共享

本文介绍了HarmonyOS剪贴板功能的完整实现方案。剪贴板通过pasteboard模块提供基础读写能力,支持文本、HTML、URI等多种数据类型,每条数据可包含多格式记录。使用时需注意权限管理,API 12起读取剪贴板需要READ_PASTEBOARD权限。文章详细讲解了文本、富文本和文件URI的读写方法,并说明如何通过监听剪贴板变化实现自动响应功能,如电商App的口令码识别。剪贴板数据总大小上限为128MB,URI方式可实现跨应用高效文件共享。

2026-07-31 09:30:38 304

原创 HarmonyOS 6.0 相机预览与拍照裁剪

本文详细介绍了HarmonyOS相机开发的完整流程,包括三个关键环节:首先通过XComponent构建预览画面,获取Surface作为画面载体;其次初始化CameraManager和Session,配置输入输出并启动会话;最后实现拍照功能,通过监听photoAvailable回调获取图像数据并保存为JPEG文件。文章特别强调了HarmonyOS与Android相机开发的差异,如需要手动管理相机流水线、Session配置的固定顺序,以及异步获取拍照结果等注意事项,为开发者提供了从预览到拍照保存的一站式解决方案

2026-07-31 09:29:18 205

原创 HarmonyOS 6.0 通知栏与角标管理

这篇文章摘要总结了HarmonyOS通知系统的完整实现方案,重点包含5个核心模块: 通知权限申请 - 通过requestEnableNotification()引导用户授权,需每次使用前检查状态 基础通知发布 - 使用NotificationRequest构建通知,相同ID会覆盖旧通知 点击跳转实现 - 通过WantAgent实现通知点击跳转特定页面 角标管理 - 支持增量(badgeNumber)和绝对值(setBadgeNumber)两种更新方式 高级通知样式 - 长文本和多行通知的实现方法 文章提供了

2026-07-31 09:28:18 220

原创 HarmonyOS 6.0 文件下载与断点续传:从基础到稳如老狗

本文介绍了HarmonyOS中实现文件下载和断点续传的完整方案。主要内容包括: 基础下载功能实现,通过HTTP GET请求获取二进制流并写入文件 下载进度显示,利用dataProgress和dataReceive事件实现实时进度更新 文件写入与偏移定位,使用lseekSync实现断点续传的关键位置定位 断点续传实现,通过Range请求头获取部分内容,结合本地记录实现下载恢复 文章提供了详细的TypeScript代码示例,涵盖了下载过程中的关键问题处理,如二进制数据接收、大文件分块写入、进度更新和断点续传等核

2026-07-31 09:27:15 186

原创 HarmonyOS 6.0 后台任务与长时驻留:让应用退到后台还能干活

HarmonyOS后台长时任务实现方案详解 本文详细介绍了HarmonyOS系统中实现后台长时任务的完整方案。主要内容包括: 后台任务类型:分为短时任务(Transient Task)、长时任务(Continuous Task)和延迟任务(WorkScheduler),重点讲解长时任务的实现。 申请流程:核心是使用startBackgroundRunning和stopBackgroundRunning方法,需在module.json5中声明backgroundModes并创建WantAgent。 配置要求:

2026-07-30 10:12:18 237

原创 HarmonyOS 6.0 组件复用与@Reusable:让你的列表滑得飞起

本文介绍了鸿蒙开发中解决列表滑动卡顿问题的@Reusable组件复用方案。通过类装饰器@Reusable标记可复用组件,配合aboutToReuse生命周期函数重置状态,实现组件从复用池中取出时避免显示旧数据。文章详细阐述了复用池按组件类型分组的工作机制,比较了ForEach与LazyForEach在使用@Reusable时的差异,强调LazyForEach才是最佳搭档。重点说明了必须在aboutToReuse中重置所有@State变量,并提供了示例代码展示如何正确实现状态重置,以避免复用组件时出现显示异常

2026-07-30 10:11:09 230

原创 HarmonyOS 6.0 分栏布局与响应式折叠

本文介绍了在HarmonyOS NEXT中实现分栏布局的完整方案。通过Row+Column组合配合layoutWeight分配宽度比例,构建主列(固定宽度)和详情列(自适应)的基础分栏结构。针对不同屏幕尺寸,使用mediaQuery断点检测动态切换布局模式:宽屏(≥520vp)采用分栏显示,自动调整主列占比(38%-32%);窄屏(<520vp)切换为单栏模式,点击列表项进入详情页并支持返回。方案包含组件生命周期管理(监听注册/注销)和响应式逻辑,适配折叠屏/平板等设备,无需第三方组件即可实现专业级分栏布局

2026-07-30 10:10:01 204

原创 HarmonyOS 6.0 手势冲突与优先级协调

HarmonyOS NEXT手势冲突解决方案 HarmonyOS NEXT的手势系统支持多种操作(点击、长按、拖拽等),但多手势共存时易发生冲突。核心解决方案包括: 手势类型区分 使用.gesture()(互斥,高优先级)和.parallelGesture()(并行,低优先级)控制手势阻塞行为。 冲突协调机制 通过GestureGroup的三种模式管理冲突: Exclusive(互斥):按声明顺序优先识别 Parallel(并行):同时响应 Sequence(序列):严格按顺序触发 典型场景优化 点击/长按

2026-07-30 10:08:55 345

原创 HarmonyOS 6.0 侧滑导航与抽屉菜单

本文介绍了在HarmonyOS NEXT中实现侧滑导航抽屉菜单的完整方案。核心思路是通过Stack布局叠加主内容区、遮罩层和抽屉面板,利用translateX控制抽屉的隐藏与显示。文章详细解析了以下技术要点: 基本结构:采用Stack叠放主内容、半透明遮罩和抽屉面板 动画实现:使用animateTo平滑过渡translateX值,实现抽屉开关效果 遮罩交互:通过透明度变化和点击事件实现点击遮罩关闭功能 手势支持:集成PanGesture实现边缘滑动呼出/关闭抽屉 状态管理:合理控制动画与状态变量的同步,避免

2026-07-30 09:45:39 357

原创 HarmonyOS 6.0 日期时间选择与日历:DatePicker + 自定义日历网格全覆盖

本文详细介绍了HarmonyOS中的日期时间选择组件使用方案。主要内容包括: DatePicker基础用法:系统级日期选择器,支持设置可选范围、初始日期,提供公历/农历切换功能,回调返回Date对象或年月日数字。 TimePicker时间选择:支持12/24小时制切换,但精度只到分钟,需自定义秒级选择。 日期格式化处理:提供了日期格式化工具函数示例,解决农历显示和星期转换需求。 自定义日历视图:通过Grid和ForEach实现日历网格,计算月份天数并处理日期格子渲染逻辑。 文章还特别指出了开发中常见的注意事

2026-07-29 10:34:35 181

原创 HarmonyOS 6.0 自定义Toast与Snackbar:从promptAction到Popup全覆盖

摘要 本文介绍了HarmonyOS中提示消息的多种实现方案,重点讲解了Toast和Snackbar的自定义方法。系统提供的promptAction.showToast是最简单的全局提示方案,支持设置显示时长和位置偏移,但功能有限。通过bindPopup绑定组件可实现更灵活的组件级Toast,支持自定义样式、位置和自动消失。Snackbar在Toast基础上增加了操作按钮,使用CustomPopup和@Builder可构建交互式提示。文章提供了完整的代码示例,展示了不同场景下的最佳实践方案,帮助开发者实现丰富

2026-07-29 10:33:26 344

原创 HarmonyOS 6.0 富文本与图文混排:RichText + ImageSpan 完整方案

本文详细介绍了HarmonyOS中实现图文混排的三种核心方案: RichText方案:直接渲染HTML字符串,适合服务端返回的富文本内容,支持常见标签但交互能力有限。 Span/ImageSpan方案:通过Text组件内嵌Span和ImageSpan实现灵活的行内混排,支持独立样式设置和自动换行排版。 ContainerSpan方案:对多个Span/ImageSpan进行分组,实现统一背景色、圆角等样式控制。 文章通过聊天消息等典型场景的完整代码示例,展示了如何组合使用这些API实现复杂的图文混排效果,包括

2026-07-29 10:31:55 243

原创 HarmonyOS 6.0 音频焦点与多路播放协调

摘要:文章介绍了移动端音频管理机制,重点分析了HarmonyOS的AVSession系统。AVSession通过会话类型(audio/video)协调多应用音频播放,开发者需设置元数据和播放状态。当系统焦点变化时,应用需处理暂停或降低音量等中断事件。此外,文章还探讨了应用内多音源(如背景音乐+音效)的优先级管理策略,建议通过协调器控制主音源与瞬态音源的叠加播放。

2026-07-29 10:30:44 413

原创 HarmonyOS 6.0 组件尺寸测量与自适应布局

本文介绍了ArkUI中实现组件自适应布局的多种方案,包括百分比布局、layoutWeight权重分配、onAreaChange组件尺寸测量、constraintSize约束尺寸等核心方法。重点讲解了如何动态计算组件尺寸实现复杂布局,比如网格布局和横向滚动效果。同时提供了屏幕适配策略,包括基于屏幕宽度和组件自身宽度的响应式布局切换,以及文字、图片等内容的自适应处理技巧。这些方案能有效解决"calc(100%-32vp)"这类混合运算需求,帮助开发者构建灵活适配不同屏幕尺寸的界面布局。

2026-07-29 10:28:15 412

原创 HarmonyOS 6.0 卡片式信息流与瀑布流布局

本文介绍了HarmonyOS中WaterFlow组件的瀑布流布局实现方案。主要内容包括: 基础用法:通过WaterFlow和FlowItem构建瀑布流,支持不等高卡片自动排列到最短列。 列数配置:使用columnsTemplate设置列数和宽度比例,可响应式调整列数。 高度处理:提供固定高度和动态高度两种策略,动态高度需预计算估算值。 数据加载:支持LazyForEach大数据量加载,实现IDataSource接口管理数据源。 交互功能:实现上拉加载更多(onReachEnd)和下拉刷新(Refresh组件

2026-07-28 09:37:26 197

原创 HarmonyOS 6.0 页面生命周期与状态恢复

HarmonyOS的页面生命周期管理涉及UIAbility、NavDestination和组件三层逻辑。UIAbility作为应用入口,包含onCreate/onForeground/onBackground等核心回调;NavDestination通过onShown/onHidden等回调处理页面切换;组件则使用aboutToAppear/aboutToDisappear。三层生命周期的执行顺序需要精确协调,特别是应用切后台时组件不会重建的特性可能引发数据过期问题。开发者需在onBackground时持久化

2026-07-28 09:36:17 275

原创 HarmonyOS 6.0 自定义绘图表盘与仪表

本文介绍了如何使用Canvas绘制自定义仪表盘,从基础环形仪表到带刻度和指针的复杂表盘。主要内容包括:1)绘制基础环形仪表,展示数值范围和当前值;2)添加刻度线,区分主副刻度并标注数字;3)绘制三角形指针,实现动态指示效果;4)实现颜色分段功能,用不同颜色标识数值区间(如绿-黄-红)。通过Canvas的arc、lineTo等绘图API,结合角度计算,可灵活创建各类仪表盘组件,比Progress组件更丰富,比底层绘图更高效。

2026-07-28 09:35:19 341

原创 HarmonyOS 6.0 长按菜单与拖拽预览

本文介绍了在HarmonyOS中实现长按弹出菜单与拖拽预览交互的技术方案。主要内容包括:1) 使用bindContextMenu实现系统默认长按菜单;2) 通过@Builder自定义菜单样式,结合遮罩层处理点击外部关闭;3) 利用onDragStart自定义拖拽预览图;4) 通过onDragEnter/Leave/Drop实现拖拽目标区域高亮反馈;5) 解决长按菜单与拖拽手势的冲突问题,建议使用GestureGroup的Exclusive模式或手动实现PanGesture来控制交互优先级。文章提供了完整的代

2026-07-28 09:34:20 265

原创 HarmonyOS 6.0 图片缓存与预加载策略

本文介绍了HarmonyOS应用中图片缓存的完整实现策略。主要内容包括:1)Image组件自带内存缓存机制,采用LRU策略管理;2)通过autoResize属性优化内存占用;3)需自行实现磁盘缓存,文中提供了基于文件系统的缓存类实现,包含URL哈希转换和读写逻辑;4)缓存优先加载策略及竞态处理;5)预加载机制实现,通过队列控制预加载顺序;6)内存优化建议,包括控制图片解码尺寸和列表项缓存数量。这些策略共同解决了图片加载导致的流量、内存和体验问题,适用于列表、轮播等常见场景。

2026-07-28 09:33:05 366

原创 HarmonyOS 6.0 应用级事件总线与组件间通信

文章摘要: HarmonyOS提供多层级通信方案:@Prop/@Link用于父子组件同步,@Provide/@Consume支持跨层级通信,AppStorage管理全局状态。对于解耦通信需求,Emitter作为应用内事件总线支持组件间松耦合通信,适用于一对多广播(如登录状态同步、购物车更新)。其核心在于事件订阅/发布机制,需注意及时取消订阅以避免内存泄漏。CommonEvent则用于跨应用通信场景。开发者可通过封装EventBus提升使用体验,根据通信范围(应用内/跨应用)和耦合度需求选择合适方案,多数场景

2026-07-27 11:13:56 496

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除