
鸿蒙开发
文章平均质量分 96
程东升6
这个作者很懒,什么都没留下…
展开
-
鸿蒙开发5.0案例分析:应用自定义弹窗开发实践
弹窗是应用开发需要实现的基础功能,通常用来展示用户当前需要或用户必须关注的信息或操作,可用于广告、中奖、警告、软件更新等与用户交互响应的操作。在应用开发中,经常需要实现自定义UI和功能要求,系统弹窗往往无法满足需求,此时就需要使用到自定义弹窗了。合理选择不同的系统能力实现弹窗,有利于提升应用开发效率,实现更好的功能需求,因此了解自定义弹窗的选型和差异非常重要。在应用开发中,为了选择出合适的弹窗选型,从使用场景上,需要重点关注以下两点:弹窗与界面代码解耦。原创 2025-04-30 21:42:57 · 649 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:横竖屏开发实践
横竖屏切换功能即实现应用内既支持竖屏显示也支持横屏显示的效果。对于应用内不同页面显示方向不同的情况,需要在应用逻辑中,动态修改窗口方向,来实现该效果,例如包含视频播放功能的应用,首页内容是采用竖屏方式,而视频详情页则采用横屏方式展示。窗口旋转策略的选择常用应用类型的横竖屏开发常见的横竖屏开发问题。原创 2025-04-30 20:30:55 · 499 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:ArkWeb渲染框架适配方案
视图层方面,可以使用系统提供的同层渲染能力,把部分性能要求比较高的前端组件改成原生实现,以达到更好的体验效果。组件鸿蒙化:针对Web组件,以同层渲染的方式提供替代组件,以提升组件的性能与交互体验。实现中可以使用map容器把embedType和离屏节点的builder函数进行关联,当makeNode执行时,取出embedType对应的builder函数来创建rootNode节点,最后把rootNode节点关联的FrameNode返回,达到离屏节点动态上树、H5渲染出原生组件的效果。) 的方式进行调用。原创 2025-04-30 17:14:20 · 529 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:声明式UI中实现组件动态创建
为了解决页面、组件加载缓慢的问题,ArkUI框架提供了动态操作以实现组件预创建,并允许应用在运行时根据实际需要加载渲染相应的组件。动态操作包含动态创建组件(动态添加组件)、动态卸载组件(动态删除组件)等相关操作。动态创建组件指在非build生命周期中进行组件创建,即在build生命周期前提前创建组件。通过动态创建组件,不但可以节省组件创建的时间,提升用户体验,还可以将独立的逻辑进行封装,有助于应用模块化开发。动态卸载组件是对动态创建的组件进行卸载、删除。原创 2025-04-30 15:47:36 · 715 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:ArkUI组件封装场景
系统提供 @CustomDialog 装饰器用于自定义弹窗的实现。图3使用Dialog弹窗效果提供方创建自定义弹窗组件MyCustomDialog。// 自定义弹窗需要使用@CustomDialog装饰器// 被@CustomDialog装饰器修饰的组件必须持有CustomDialogController类型属性参数// 弹窗交互事件参数,点击确认和取消按钮时的回调函数onCancel?onConfirm?}).();})原创 2025-04-30 14:28:19 · 489 阅读 · 0 评论 -
鸿蒙开发5.0案例分析: Web和应用的跳转与拉起
在使用ArkTS与ArkWeb进行混合开发时,应用内的部分页面使用了前端相关能力进行了开发,结合Web组件进行了页面加载,在这种场景下涉及到从ArkWeb加载的页面向其他页面跳转,以及从ArkWeb页面拉起应用。原创 2025-04-30 13:38:50 · 339 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:应用间跳转场景开发实践
在现代应用使用场景中,应用间的跳转已成为提升用户体验的核心功能之一。它使用户能够在不同的应用之间快捷切换,从而轻松完成复杂的任务。无论是从购物应用无缝跳转到支付应用完成交易,还是通过推广链接直接进入应用市场进行版本更新,这些操作都涉及到应用间跳转的需求。系统提供了应用间跳转的统一打开体验,典型场景一步直达,适配各种主流场景的跨应用跳转诉求,更多场景(例如导航等)提供系统面板保障打开结果可信,打开体验便捷、一致。原创 2025-04-29 21:54:53 · 526 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:应用埋点开发实践
埋点是指将信息采集程序和原本的功能代码结合起来,针对特定用户行为收集、处理和发送一些信息,用来跟踪应用使用情况。包括访问数、访客数、停留时长、页面浏览数和跳出率。页面中可视区域或者组件的点击量,统计点击频率,分析用户的偏好行为。监听页面中组件滑动的开始与结束,计算滑动偏移量以及曝光比例。监听页面切换,统计页面的停留时间以及切换的来源页和目标页,分析页面浏览数和跳出率。分析页面加载性能,计算加载过程各个节点的耗时,可针对某个关键点进行优化。接下来会从:(1)组件动态绑定埋点数据;原创 2025-04-29 20:22:23 · 795 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:性能崩溃监测实践
崩溃(Crash)指的是应用程序在运行过程中突然停止运行或出现错误导致程序无法正常继续执行。用户体验:崩溃会直接影响用户体验,操作程序时突然Crash,可能导致用户不再打开应用、卸载应用。用户留存率:在同质化的市场竞争中,稳定的应用程序能够吸引用户并提高用户留存率,而崩溃率低就意味着应用的稳定。数据安全:崩溃可能造成应用数据丢失,影响数据完整性,比如编辑类的应用场景,减少Crash对用户数据的保护至关重要。HiAppEvent。原创 2025-04-29 16:33:04 · 658 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:性能优化之CppCrash故障定位指南
CppCrash是C/C++运行时崩溃,包括空指针异常、数组越界异常、栈溢出异常等。HarmonyOS系统针对这一类故障,基于系统级DFX能力,能够进行检测并生成故障日志,生成在/data/log/faultlog/faultlogger系统目录下,在DevEcoStudio中的Faultlog工具栏也能进行汇总显示。(1)反编译addr2lineLinux下addr2line命令用于将程序指令地址转换为所对应的函数名、以及函数所在的源文件名和行号。原创 2025-04-29 15:44:53 · 847 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:文件上传下载性能提升
在开发应用时,客户端与服务器之间数据交换的效率取决于文件传输的性能。一个数据交换性能较低的应用会导致其在加载过程中耗费较长时间,在很多的场景造成页面卡顿,极大的影响了用户体验。相反,一个数据交换高效的应用,则会让应用变得更加流畅。本文将介绍两种常见的上传下载传输和网络请求的关键技术:数据压缩和断点续传,可减少宽带占用,提高传输效率,从而达到提升数据交换性能。原创 2025-04-29 14:33:07 · 522 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:减少应用内存
随着时代的发展,应用越来越复杂,占用的内存也在不断膨胀,而内存作为系统的稀缺资源比较有限,因此,主动减少应用内存的占用对于整个系统至关重要。当应用程序占用过多内存时,系统可能会频繁进行内存回收和重新分配,导致应用程序的性能下降,甚至出现崩溃和卡顿的情况。通过减少应用内存的占用,可以有效提高应用的性能和响应速度,节省系统资源,让设备的运行效率更高,延长设备的续航时间。开发者应该在应用开发过程中注重内存管理,积极采取措施来减少内存占用,以优化应用程序的性能和用户体验。原创 2025-04-29 13:33:08 · 519 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:应用包大小优化
减小应用包大小是提升应用下载和安装体验的重要方式。通过压缩、精简或者复用应用中的代码或资源,可以有效降低应用包体积大小,减少空间占用,从而达到提升应用下载和安装速度的目的。在了解如何优化包大小之前,需要先了解HarmonyOS应用的 应用程序包结构。在进行应用程序包大小优化分析时,可以使用扫描工具扫描分析App包,根据输出的检测报告,采取相应措施优化应用。对于含有so库的app工程,可以 配置so库压缩 选项,通过压缩so库来减小应用包大小。原创 2025-04-28 21:36:37 · 639 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:Grid网格布局性能提升
在实现如下图所示可滚动布局效果时,可能会通过 columnStart/columnEnd 对GridItem设置其占有行列数,实现不规则的布局效果。图1columnStart/columnEnd实现不规则网格布局删除或拖拽等改变GridItem位置使用scrollToIndex滑动到指定GridItem。原创 2025-04-28 20:24:46 · 539 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:瀑布流性能优化
瀑布流是应用开发中相当常见的开发场景。它通过容器自身的布局规则,将元素项目自上而下排列,在整体界面的呈现上,多列参差不齐、不停加载的形式使其内容看着像瀑布一样从上而下倾泻。借助其特点,瀑布流通常被用于展示图片资讯、购物商品、直播视频等多种形式的数据。当瀑布流上下滑动时,由于无限加载的特性,其能展示的数目非常多;大小不一的子元素,也带来了测量绘制的性能消耗。针对瀑布流这种场景进行性能优化,可以在加快渲染速度、提升滑动帧率、降低内存占用等方面,增强应用的运行效率,进而提升用户的操作体验。原创 2025-04-28 16:49:01 · 461 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:TaskPool和Worker的对比实践
ArkTS提供了TaskPool与Worker两种多线程并发方案,下面我们将从其工作原理、使用效果对比两种方案的差异,进而选择适用于ArkTS图片编辑场景的并发方案。表2TaskPool与Worker并发方案对比对比维度WorkerTaskPool编码效率Worker需要开发者关注线程数量的上限,管理线程生命周期,随着任务的增多也会增加线程管理的复杂度。TaskPool简单易用,开发者很容易上手。数据传输。原创 2025-04-28 16:47:05 · 968 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:长列表加载性能优化
列表是应用开发中最常见的一类开发场景,它可以将杂乱的信息整理成有规律、易于理解和操作的形式,便于用户查找和获取所需要的信息。应用程序中常见的列表场景有新闻列表、购物车列表、各类排行榜等。随着信息数据的累积,特别是一些新闻应用、购物应用、聊天应用,列表数据往往会达到上万条,针对这类大量数据加载的长列表应用,如何对长列表的性能进行优化是非常重要的。一个正确、高性能的长列表应用能明显降低列表渲染时间、提升页面的滑动帧率、降低应用内存占用,大幅提升用户体验。原创 2025-04-28 16:18:41 · 809 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:文件上传下载性能提升
在开发应用时,客户端与服务器之间数据交换的效率取决于文件传输的性能。一个数据交换性能较低的应用会导致其在加载过程中耗费较长时间,在很多的场景造成页面卡顿,极大的影响了用户体验。相反,一个数据交换高效的应用,则会让应用变得更加流畅。本文将介绍两种常见的上传下载传输和网络请求的关键技术:数据压缩和断点续传,可减少宽带占用,提高传输效率,从而达到提升数据交换性能。HTTP协议里面的Range字段,官方名称为范围请求,它允许服务器只发送 HTTP 消息的一部分到客户端,可以用来请求部分数据而不是整个资源。原创 2025-04-28 14:30:38 · 958 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:点击响应优化
响应(Response)是指应用在运行中,由用户直接或间接做出一个行为请求,当程序接受了该请求,随即做出一系列运算,最终界面发生变化的过程。简单来说,即用户发出指令,程序执行,设备显示变化。在应用生态高速发展的背景下,虽然移动设备的硬件运算性能已经达到了新的高度,但与此同时应用研发者也设计出更加多元化、智能化的产品,展现样式百花齐放,这些产品对高性能的需求与日俱增,加上同类型相近功能的产品互相竞争,用户也会对App产品质量的要求越来越高,对响应速度的要求也愈加严格。原创 2025-04-27 22:07:25 · 908 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:应用冷启动优化
应用启动时延是影响用户体验的关键要素,是指从用户点击桌面应用图标、通知或其他入口启动应用,到应用界面内容成功加载并显示在屏幕上的时间间隔。如果这段时间耗时比较长,肯定会影响用户的体验。应用启动可以分为冷启动和热启动,当应用启动时,后台没有该应用的进程,这时系统会重新创建应用的进程, 这种启动方式就叫做冷启动;而热启动是当应用程序已经在后台运行,用户再次打开应用程序时,应用程序仍然在内存中,可以直接从内存中加载并继续之前的状态,而不需要重新初始化和加载资源。原创 2025-04-27 20:23:27 · 839 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:Web场景性能优化(二)
本文深入探讨了Web页面加载的原理和优化方法,为开发者提供了重要的指导和思路。在当今互联网时代,用户对网页加载速度和体验要求越来越高,因此页面加载优化成为开发者必须重视的一环。通过理解Web页面加载的原理,开发者可以更好地处理页面加载与优化的相关问题,提升应用的整体质量。文中提供了预连接、预下载、预渲染、预取POST、预编译等多种常见的优化方法,指导开发者优化Web页面的加载速度。这些方法可以有效提高应用流畅度、提升用户体验。但是,这几种方法都是基于预处理的方式进行优化的,所以存在一定的优化代价。原创 2025-04-27 17:51:26 · 948 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:Web场景性能优化(一)
ArkWeb(方舟Web)是一个Web组件平台,旨在为应用程序提供展示Web页面内容的功能,并为开发者提供丰富的能力,包括页面加载、页面交互、页面调试等功能。在这个数字化时代,页面显示的速度直接体现了应用的流畅性,影响着用户对应用的印象和体验。快速加载并展示页面不仅可以吸引用户留在应用上,还能减少他们的等待时间和不耐烦情绪,从而提升用户的满意度。Web页面的显示过程可以被分为多个阶段,包括DNS解析、建立连接、发送请求、接收响应、解析HTML、下载资源等步骤。原创 2025-04-27 16:29:57 · 549 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:ArkTS高性能编程
高性能编程指的是在语法使用过程中,通过优化一些影响性能的代码片段,使代码以最优的方式执行。以下实践是在开发过程中逐步总结出来的一些高性能的写法和建议,实践包含变量声明、属性的访问、数值计算、数据结构的使用以及函数声明与使用等内容,在业务功能实现过程中,要同步思考并理解高性能写法的原理,运用到代码逻辑实现中。原创 2025-04-27 15:03:21 · 285 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:高负载场景下分帧渲染
在应用开发中,页面内列表结构复杂,每个列表项包含的组件较多,就会导致嵌套层级较深,从而引起组件负载加重,绘制耗时增长。在这种情况下,转场或者列表滑动的时候列表项就会一次性加载大量的数据,此时可以采用分帧渲染,将本来一帧内加载的数据分成多帧加载,但是分帧渲染需要开发者计算每帧中加载多少数据,操作复杂,因此在必要的情况下才推荐使用。通过上面的示例代码和优化过程,可以看到在列表中使用组件复用时,一次性全部加载时可能会引起掉帧。原创 2025-04-27 13:41:50 · 820 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:全局自定义组件复用
默认的组件复用行为,是将子组件放在父组件的缓存池里,受到这个限制,不同父组件中的相同子组件无法复用,推荐的解决方案是将父组件改为builder函数,让子组件共享组件复用池,但是由于在一些应用场景下,父组件承载了复杂的带状态的业务逻辑,而builder是无状态的,修改会导致难以维护,因此开发者可以使用BuilderNode自行管理组件复用池。使用List+Swiper实现Tabs页面切换。// 点击标题时,Swiper组件跳转到对应的页面// 设置标题为选中状态。原创 2025-04-26 21:50:23 · 816 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:主线程耗时操作优化
在应用开发实践中,有效避免主线程执行冗余与易耗时操作是至关重要的策略。此举能有效降低主线程负载,提升UI的响应速度。面对高频回调接口在短时间内密集触发的场景,需要避免接口内的耗时操作,尽量保证主线程不被长时间占用,从而防止阻塞UI渲染,引发界面卡顿或掉帧现象。本文介绍开发过程中常见的冗余操作,常见的高频回调场景以及其他主线程优化思路。开发过程中,在主线程执行一些耗时任务,可能会阻塞UI渲染导致卡顿、掉帧等性能问题。具有如下优化思路正式发布版本避免冗余日志,Trace打点以及没有业务操作的系统回调;原创 2025-04-26 20:28:06 · 926 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:Swiper高性能开发
在应用开发中,Swiper组件常用于翻页场景,比如:桌面、图库等应用。Swiper组件滑动切换页面时,基于按需加载原则通常会在下一个页面将要显示时才对该页面进行加载和布局绘制。针对复杂页面场景,该过程可能会持续较长时间,导致滑动过程中出现卡顿,对滑动体验造成负面影响,甚至成为整个应用的性能瓶颈。本文主要介绍Swiper性能优化的相关方法。原创 2025-04-26 17:22:22 · 753 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:懒加载优化
懒加载LazyForEach是一种延迟加载的技术,它是在需要的时候才加载数据或资源,并在每次迭代过程中创建相应的组件,而不是一次性将所有内容都加载出来。懒加载通常应用于长列表、网格、瀑布流等数据量较大、子组件可重复使用的场景,当用户滚动页面到相应位置时,才会触发资源的加载,以减少组件的加载时间,提高应用性能,提升用户体验。在声明式描述语句中,有两种方式控制列表、网格等容器类组件的渲染,分别为循环渲染(ForEach)和数据懒加载(LazyForEach)。原创 2025-04-26 15:45:30 · 822 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:组件复用最佳实践
列表滚动(本例中的场景):当应用需要展示大量数据的列表,并且用户进行滚动操作时,频繁创建和销毁列表项的视图可能导致卡顿和性能问题。在这种情况下,使用列表组件的组件复用机制可以重用已经创建的列表项视图,提高滚动的流畅度。动态布局更新:如果应用中的界面需要频繁地进行布局更新,例如根据用户的操作或数据变化动态改变视图结构和样式,重复创建和销毁视图可能导致频繁的布局计算,影响帧率。在这种情况下,使用组件复用可以避免不必要的视图创建和布局计算,提高性能。原创 2025-04-26 14:41:33 · 683 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:组件复用场景与方法详解
组件复用是优化用户界面性能,提升应用流畅度的一种重要手段,通过复用已存在的组件节点而非创建新的节点,从而确保UI线程的流畅性与响应速度。组件复用针对的是自定义组件,只要发生了相同自定义组件销毁和再创建的场景,都可以使用组件复用,例如滑动列表场景,会出现大量重复布局的创建,使用组件复用可以大幅度降低了因频繁创建与销毁组件带来的性能损耗。然而,面对复杂的业务场景或者布局嵌套的场景下,组件复用使用不当,可能会导致复用失效或者性能提升不能最大化。例如列表中存在多种布局形态的列表项,无法直接复用。原创 2025-04-26 13:36:10 · 638 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:页面间转场
页面间转场是用户从一个页面切换到另一个页面时的过程,一个无缝流畅的转场动效可以提升用户的交互体验。从主页到详情页、从列表页到结果页都需要去设置一些转场动效使得用户体验更加流畅。基于用户行为和应用设计模式,我们总结出了一些常见的转场场景,包括层级转场、搜索转场、新建转场、编辑转场、通用转场、跨应用转场。针对这些转场场景,根据“人因研究”(在 HarmonyOS 中,通过大量的人因研究为UX设计提供了系统性的科学指导),给各位开发者推荐一些适合本场景下转场动效,常见的转场动效有左右位移遮罩动效、一镜到底动效等。原创 2025-04-25 21:23:23 · 735 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:ArkUI动画
动画是应用开发中必不可少的部分,它可以使应用程序更加生动和易于互动,一方面可以提升用户体验、增强视觉吸引力,另一方面可以引导用户操作、提高信息传达效率。应用程序中,页面层级间的转场、点击交互、手势操控都可以添加动画。提升动画感知流畅度:使用合适的动画能力将UX设计视角转换为开发实现视角,并将设计师提供的动效转化为具体的代码实现。这样可以确保应用在实际使用中达到设计的预期效果,提升动画感知流畅度并提供良好的用户体验。提升动画运行流畅度:优化动画资源的加载和释放,避免内存泄漏和资源浪费;原创 2025-04-25 20:19:24 · 811 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:状态管理最佳实践
在声明式UI编程范式中,UI是应用程序状态的函数,应用程序状态的修改会更新相应的UI界面。ArkUI采用了 MVVM 模式,其中ViewModel将数据与视图绑定在一起,更新数据的时候直接更新视图。图1ArkUI的MVVM模式ArkUI提供了一系列装饰器实现ViewModel的能力,如 @Prop 、 @Link 、 @Provide 、 LocalStorage 等。当自定义组件内变量被装饰器装饰时变为状态变量,状态变量的改变会引起UI的渲染刷新。原创 2025-04-25 17:32:42 · 922 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:UI组件嵌套优化
本章节将从原理角度分析,通过ArkUI框架的执行流程,以及自定义组件的生命周期两个角度,来分析组件过度嵌套对性能的影响。如上图所示,自定义组件创建完成之后,在build函数执行之前,将先执行aboutToAppear()生命周期回调函数。执行完build函数后,还会有一些事件监听函数,例如可以使用onPageShow监听页面显示事件,onPageHide函数可以监听页面隐藏事件。最终在自定义组件析构销毁前执行aboutToDisappear函数。原创 2025-04-25 16:05:56 · 727 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:UI布局优化
而当触发按钮修改外层Column的宽度时,也就是触发重新绘制的情况下,给定容器宽高为固定值的性能远远优于未设置宽高和设置百分比宽高,这是由于对于未设置宽高以及设置百分比宽高的情况下,在外层容器宽高发生变化时,组件本身也会触发重新进行Measure的过程,对组件的宽高进行重新测算,导致其布局时间很长,而设置了固定宽高的组件,则不会经过这一过程,而是直接使用初次绘制时保留的节点大小数据,减少了测算的时间,这对于性能的提升是尤为明显的,尤其是当组件内的内容十分复杂的情况下。原创 2025-04-25 14:58:44 · 777 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:UI组件优化
图2自定义组件生命周期流程图如上图所示,自定义组件创建完成之后,在build函数执行之前,将先执行aboutToAppear()生命周期回调函数。此时若在该函数中执行耗时操作,将阻塞UI渲染,增加UI主线程负担。因此,应尽量避免在自定义组件的生命周期内执行高耗时操作。对于复杂计算的耗时场景,可以将计算结果进行缓存处理。对于不需要等待结果的高耗时任务,可以采用多线程处理该任务,通过并发的方式避免主线程阻塞。原创 2025-04-25 13:35:28 · 912 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:应用架构设计(AOP应用切面编程设计)
切面编程(AOP)是一种通过预编译方式和运行期间动态代理实现程序功能的统一维护的技术。AOP的核心思想是将程序的关注点(concern)分离,通过在程序中插入代码来实现横切关注点(cross-cutting concerns),从而实现对业务逻辑的各个部分进行隔离,降低它们之间的耦合度,提高程序的可维护性和可重用性,同时提高了开发的效率。在AOP中,开发者可以通过定义切面(aspect)来封装横切关注点,而不需要直接修改业务逻辑代码。原创 2025-04-24 21:30:44 · 782 阅读 · 0 评论 -
鸿蒙原生APP开发之应用架构设计(线程间通信)
线程间通信指的是并发多线程间存在的数据交换行为,目前已支持ArkTS、C++等开发语言,因此存在不同语言、不同线程的通信场景,接下来详细展开介绍。原创 2025-04-24 20:25:27 · 399 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:APP架构设计(应用并发设计)
ArkTS是HarmonyOS APP的开发语言,它在保持TypeScript(简称TS)基本语法风格的基础上,一方面规范强化静态检查提升开发者代码的规范性;另一方面基于TypeScript增强了一些特性提升开发体验和执行效率,尤其是在并发能力上的提升。本文档主要面向HarmonyOS APP的设计人员或开发人员,介绍应用在并行任务方案设计过程中,可能会遇到的典型场景以及对应的推荐设计方案,同时给出了方案的关键点及参考案例。原创 2025-04-24 17:00:31 · 414 阅读 · 0 评论 -
鸿蒙开发5.0案例分析:APP架构设计(应用导航设计)
大型应用开发中,应用可能包含不同的业务模块,每个模块由不同的业务团队负责开发。该场景采用一个 Navigation 下多个 har/hsp 的架构,其中一个模块对应一个har/hsp。当多个har/hsp的UI组件存在相互跳转的业务需求时,将出现模块间相互依赖的问题。图1多har包间路由跳转耦合针对该场景,本文提供了一套基于Navigation的路由设计方案实现多模块路由管理和模块间解耦。并在该基础上,通过动态注册路由的方式,解决页面加载多个UI组件时启动速度变慢问题。原创 2025-04-24 15:34:43 · 881 阅读 · 0 评论