
性能优化
文章平均质量分 96
普通网友
这个作者很懒,什么都没留下…
展开
-
【鸿蒙基于API 13实战开发】—— UIAbility组件
UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。原生支持应用组件级的跨端迁移和多端协同。支持多设备和多窗口形态。UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。原创 2024-11-19 14:15:22 · 986 阅读 · 0 评论 -
【鸿蒙性能优化实战】状态变量组件定位工具实践
自定义组件中的变量被状态装饰器(@State,@Prop等)装饰后成为状态变量,而状态变量的改变会引起使用该变量的UI组件渲染刷新。状态变量的不合理使用可能会带来冗余刷新等性能问题。开发者可以使用状态变量组件定位工具获取状态管理相关信息,例如自定义组件拥有的状态变量、状态变量的同步对象和关联组件等,了解状态变量影响UI的范围,写出高性能应用代码。本文将通过场景示例为开发者提供状态变量组件定位工具的实践指导,并对工具相关的调试命令和输出结果作解释说明。原创 2024-11-19 13:38:17 · 846 阅读 · 0 评论 -
【鸿蒙性能优化实战】Trace 工具使用指南
OpenHarmony的DFX子系统提供了为应用框架以及系统底座核心模块的性能打点能力,每一处打点即是一个Trace,其上附带了记录执行时间、运行时格式化数据、进程或线程信息等。开发者可以使用 SmartPerf-Host调试工具 对Trace进行解析,在其绘制的泳道图中,对应用运行过程中的性能热点进行分析,得出优化方案。本文旨在介绍OpenHarmony中常用的Trace,解释它们的含义和用途,并阐述如何通过这些Trace来识别潜在的性能问题。原创 2024-11-18 22:12:06 · 1094 阅读 · 0 评论 -
【鸿蒙性能优化实战】SmartPerf-Host分析应用性能
SmartPerf-Host是一款深入挖掘数据、细粒度展示数据的性能功耗调优工具,可采集CPU调度、频点、进程线程时间片、堆内存、帧率等数据,采集的数据通过泳道图清晰地呈现给开发者,同时通过GUI以可视化的方式进行分析。该工具当前为开发者提供了五个分析模板,分别是帧率分析、CPU/线程调度分析、应用启动分析、TaskPool分析、动效分析。原创 2024-11-18 21:18:24 · 666 阅读 · 0 评论 -
【鸿蒙性能优化实战】HiDumper命令行工具优化性能
HiDumper是系统为开发、测试人员、IDE工具提供的系统信息获取工具,帮助开发者分析、定位问题。在应用开发过程中,开发者可以使用Hidumper命令行工具获取UI界面组件树信息,配合ArkUI Inspector等图形化工具定位布局性能问题;还可以使用该命令行工具获取如内存和CPU使用情况等各项系统数据,对应用性能进行评估。本文通过一些示例介绍在优化应用性能过程中如何使用Hidumper命令行工具。原创 2024-11-18 20:36:46 · 878 阅读 · 0 评论 -
【鸿蒙性能优化实战】性能测试工具SmartPerf Editor
SmartPerf Editor是一款PC端桌面应用,通过监测、采集应用运行时FPS、CPU、GPU、Memory、Battery、Network等性能数据,帮助开发者了解应用的性能状况。SmartPerf Editor还集成了DrawingDoc功能,可录制Render Service绘制指令,回放并生成不同图形库文件。通过逐帧逐绘制指令回放,来识别是否存在冗余绘制、是否可以优化绘制指令的数量,从而提升页面绘制性能。原创 2024-11-18 18:00:59 · 702 阅读 · 0 评论 -
【鸿蒙性能优化实战】耗时分析器Time Profiler
DevEco Studio集成的DevEco Profiler性能调优工具(以下简称为Profiler),提供Time、Allocation、Snapshot、CPU等场景化分析任务类型。开发应用或服务过程中,如果遇到卡顿、加载耗时等性能问题,开发者通常会关注相关函数执行的耗时情况。Profiler提供的Time场景分析任务,可在应用/服务运行时,展示热点区域内基于CPU和进程耗时分析的调用栈情况,并提供跳转至相关代码的能力,使开发者更便捷地进行代码优化。原创 2024-11-18 16:32:25 · 316 阅读 · 0 评论 -
【鸿蒙性能优化实战】内存快照Snapshot Profiler
DevEco Studio集成的DevEco Profiler性能调优工具(以下简称为Profiler),提供Time、Allocation、Snapshot、CPU等场景化分析任务类型。内存快照(Snapshot)是一种用于分析应用程序内存使用情况的工具,通过记录应用程序在运行时的内存快照,可以快速查看应用程序在某一时刻的内存占用情况以及内存占用详情。原创 2024-11-18 15:23:13 · 1026 阅读 · 0 评论 -
【鸿蒙性能优化实战】启动分析工具Launch Profiler
其中Launch主要用于分析应用或服务的启动耗时,分析启动周期各阶段的耗时情况、核心线程的运行情况等,协助开发者识别启动缓慢的原因。可以发现aboutToAppear函数的耗时占据UI Ability OnForeground阶段的大部分时间,结合应用代码将aboutToAppear函数中的耗时计算任务以异步延迟的方式处理后,可以得到如下“Launch”泳道。如选择的是正在运行的应用,在启动该分析任务时,会先将应用关停,再自动拉起应用,进行数据录制,结束录制后可正常进入解析阶段。原创 2024-11-18 15:03:47 · 319 阅读 · 0 评论 -
【鸿蒙性能优化实战】帧率分析工具 Frame Profiler
上述案例中的场景明显属于前者中App侧的发送帧卡顿,针对前一种现象可以点击查看卡顿帧的Details信息,点击 以跳转到此帧对应的trace数据。DevEco Studio内置Profiler分析调优工具,其中Frame分析调优功能,用于录制GPU数据信息,录制完成展开之后的子泳道对应录制过程中各个进程的帧数据,主要用于深度分析应用或服务卡顿丢帧的原因。Frame泳道展开之后的子泳道对应录制过程中各个进程的帧数据,在RS Frame和App Frame标签的泳道中绿色帧为正常帧,红色帧为卡顿帧。原创 2024-11-18 14:12:49 · 956 阅读 · 0 评论 -
【鸿蒙性能优化实战】内存分析器Allocation Profiler
DevEco Studio集成的DevEco Profiler性能调优工具(以下简称为Profiler),提供Time、Allocation、Snapshot、CPU等场景化分析任务类型。开发者可使用Profiler的Allocation内存分析器,在应用或服务运行时实时显示内存使用情况,识别可能会导致应用卡顿、内存泄漏、内存抖动的问题,或找到导致内存瓶颈的问题。原创 2024-11-17 21:48:52 · 745 阅读 · 0 评论 -
【鸿蒙性能优化实战】页面布局检查器ArkUI Inspector
DevEco Studio内置ArkUI Inspector工具,开发者可以使用ArkUI Inspector,在DevEco Studio上查看应用在真机上的UI显示效果。利用ArkUI Inspector工具,开发者可以快速定位布局问题或其他UI相关问题,同时也可以观察和了解不同组件之间的布局关系和属性,学习如何通过布局属性来控制组件的显示方式。原创 2024-11-17 21:14:27 · 581 阅读 · 0 评论 -
【鸿蒙性能优化实战】应用性能分析工具CPU Profiler使用教程
本文档介绍应用性能分析工具CPU Profiler的使用方法,该工具为开发者提供性能采样分析手段,可在不插桩情况下获取调用栈上各层函数的执行时间,并展示在时间轴上。开发者可通过该工具查看TS/JS代码及NAPI代码执行过程中的时序及耗时情况,进而发现热点函数及性能瓶颈,进行应用层性能优化。原创 2024-11-17 20:10:11 · 781 阅读 · 0 评论 -
鸿蒙原生APP开发之应用间跳转场景开发实践
在现代应用使用场景中,应用间的跳转已成为提升用户体验的核心功能之一。它使用户能够在不同的应用之间快捷切换,从而轻松完成复杂的任务。无论是从购物应用无缝跳转到支付应用完成交易,还是通过推广链接直接进入应用市场进行版本更新,这些操作都涉及到应用间跳转的需求。系统提供了应用间跳转的统一打开体验,典型场景一步直达,适配各种主流场景的跨应用跳转诉求,更多场景(例如导航等)提供系统面板保障打开结果可信,打开体验便捷、一致。原创 2024-11-13 17:26:14 · 710 阅读 · 0 评论 -
鸿蒙原生APP性能监控之应用埋点开发实践
埋点是指将信息采集程序和原本的功能代码结合起来,针对特定用户行为收集、处理和发送一些信息,用来跟踪应用使用情况。包括访问数、访客数、停留时长、页面浏览数和跳出率。页面中可视区域或者组件的点击量,统计点击频率,分析用户的偏好行为。监听页面中组件滑动的开始与结束,计算滑动偏移量以及曝光比例。监听页面切换,统计页面的停留时间以及切换的来源页和目标页,分析页面浏览数和跳出率。分析页面加载性能,计算加载过程各个节点的耗时,可针对某个关键点进行优化。接下来会从:(1)组件动态绑定埋点数据;原创 2024-11-13 16:06:45 · 1046 阅读 · 0 评论 -
鸿蒙原生APP性能监控之崩溃监测实践
崩溃(Crash)指的是应用程序在运行过程中突然停止运行或出现错误导致程序无法正常继续执行。用户体验:崩溃会直接影响用户体验,操作程序时突然Crash,可能导致用户不再打开应用、卸载应用。用户留存率:在同质化的市场竞争中,稳定的应用程序能够吸引用户并提高用户留存率,而崩溃率低就意味着应用的稳定。数据安全:崩溃可能造成应用数据丢失,影响数据完整性,比如编辑类的应用场景,减少Crash对用户数据的保护至关重要。HiAppEvent。原创 2024-11-13 15:42:08 · 812 阅读 · 0 评论 -
鸿蒙原生APP性能监控之CppCrash故障定位指南
CppCrash是C/C++运行时崩溃,包括空指针异常、数组越界异常、栈溢出异常等。HarmonyOS系统针对这一类故障,基于系统级DFX能力,能够进行检测并生成故障日志,生成在/data/log/faultlog/faultlogger系统目录下,在DevEcoStudio中的Faultlog工具栏也能进行汇总显示。(1)反编译addr2lineLinux下addr2line命令用于将程序指令地址转换为所对应的函数名、以及函数所在的源文件名和行号。原创 2024-11-13 15:06:56 · 869 阅读 · 0 评论 -
鸿蒙原生APP性能优化之文件上传下载性能提升
在开发应用时,客户端与服务器之间数据交换的效率取决于文件传输的性能。一个数据交换性能较低的应用会导致其在加载过程中耗费较长时间,在很多的场景造成页面卡顿,极大的影响了用户体验。相反,一个数据交换高效的应用,则会让应用变得更加流畅。本文将介绍两种常见的上传下载传输和网络请求的关键技术:数据压缩和断点续传,可减少宽带占用,提高传输效率,从而达到提升数据交换性能。原创 2024-11-13 14:28:02 · 1083 阅读 · 0 评论 -
鸿蒙原生APP性能优化之减少应用内存
随着时代的发展,应用越来越复杂,占用的内存也在不断膨胀,而内存作为系统的稀缺资源比较有限,因此,主动减少应用内存的占用对于整个系统至关重要。当应用程序占用过多内存时,系统可能会频繁进行内存回收和重新分配,导致应用程序的性能下降,甚至出现崩溃和卡顿的情况。通过减少应用内存的占用,可以有效提高应用的性能和响应速度,节省系统资源,让设备的运行效率更高,延长设备的续航时间。开发者应该在应用开发过程中注重内存管理,积极采取措施来减少内存占用,以优化应用程序的性能和用户体验。原创 2024-11-12 22:19:46 · 777 阅读 · 0 评论 -
鸿蒙原生APP性能优化之应用包大小优化
减小应用包大小是提升应用下载和安装体验的重要方式。通过压缩、精简或者复用应用中的代码或资源,可以有效降低应用包体积大小,减少空间占用,从而达到提升应用下载和安装速度的目的。在了解如何优化包大小之前,需要先了解HarmonyOS应用的 应用程序包结构。在进行应用程序包大小优化分析时,可以使用扫描工具扫描分析App包,根据输出的检测报告,采取相应措施优化应用。对于含有so库的app工程,可以 配置so库压缩 选项,通过压缩so库来减小应用包大小。原创 2024-11-12 21:18:55 · 989 阅读 · 0 评论 -
鸿蒙原生APP性能优化之Grid网格布局性能提升
在实现如下图所示可滚动布局效果时,可能会通过 columnStart/columnEnd 对GridItem设置其占有行列数,实现不规则的布局效果。图1columnStart/columnEnd实现不规则网格布局删除或拖拽等改变GridItem位置使用scrollToIndex滑动到指定GridItem。原创 2024-11-12 20:35:28 · 659 阅读 · 0 评论 -
鸿蒙原生APP性能优化之瀑布流性能优化
瀑布流是应用开发中相当常见的开发场景。它通过容器自身的布局规则,将元素项目自上而下排列,在整体界面的呈现上,多列参差不齐、不停加载的形式使其内容看着像瀑布一样从上而下倾泻。借助其特点,瀑布流通常被用于展示图片资讯、购物商品、直播视频等多种形式的数据。当瀑布流上下滑动时,由于无限加载的特性,其能展示的数目非常多;大小不一的子元素,也带来了测量绘制的性能消耗。针对瀑布流这种场景进行性能优化,可以在加快渲染速度、提升滑动帧率、降低内存占用等方面,增强应用的运行效率,进而提升用户的操作体验。原创 2024-11-12 17:06:09 · 464 阅读 · 0 评论 -
鸿蒙原生APP性能优化之TaskPool和Worker的对比实践
ArkTS提供了TaskPool与Worker两种多线程并发方案,下面我们将从其工作原理、使用效果对比两种方案的差异,进而选择适用于ArkTS图片编辑场景的并发方案。表2TaskPool与Worker并发方案对比对比维度WorkerTaskPool编码效率Worker需要开发者关注线程数量的上限,管理线程生命周期,随着任务的增多也会增加线程管理的复杂度。TaskPool简单易用,开发者很容易上手。数据传输。原创 2024-11-12 15:55:50 · 351 阅读 · 0 评论 -
鸿蒙原生APP性能优化之长列表加载性能优化
列表是应用开发中最常见的一类开发场景,它可以将杂乱的信息整理成有规律、易于理解和操作的形式,便于用户查找和获取所需要的信息。应用程序中常见的列表场景有新闻列表、购物车列表、各类排行榜等。随着信息数据的累积,特别是一些新闻应用、购物应用、聊天应用,列表数据往往会达到上万条,针对这类大量数据加载的长列表应用,如何对长列表的性能进行优化是非常重要的。一个正确、高性能的长列表应用能明显降低列表渲染时间、提升页面的滑动帧率、降低应用内存占用,大幅提升用户体验。原创 2024-11-12 15:04:41 · 450 阅读 · 0 评论 -
鸿蒙原生APP性能优化之应用冷启动优化
应用启动时延是影响用户体验的关键要素,是指从用户点击桌面应用图标、通知或其他入口启动应用,到应用界面内容成功加载并显示在屏幕上的时间间隔。如果这段时间耗时比较长,肯定会影响用户的体验。应用启动可以分为冷启动和热启动,当应用启动时,后台没有该应用的进程,这时系统会重新创建应用的进程, 这种启动方式就叫做冷启动;而热启动是当应用程序已经在后台运行,用户再次打开应用程序时,应用程序仍然在内存中,可以直接从内存中加载并继续之前的状态,而不需要重新初始化和加载资源。原创 2024-11-12 14:19:41 · 470 阅读 · 0 评论 -
鸿蒙原生APP性能优化之Web场景性能优化(二)
本文深入探讨了Web页面加载的原理和优化方法,为开发者提供了重要的指导和思路。在当今互联网时代,用户对网页加载速度和体验要求越来越高,因此页面加载优化成为开发者必须重视的一环。通过理解Web页面加载的原理,开发者可以更好地处理页面加载与优化的相关问题,提升应用的整体质量。文中提供了预连接、预下载、预渲染、预取POST、预编译等多种常见的优化方法,指导开发者优化Web页面的加载速度。这些方法可以有效提高应用流畅度、提升用户体验。但是,这几种方法都是基于预处理的方式进行优化的,所以存在一定的优化代价。原创 2024-11-12 13:36:17 · 316 阅读 · 0 评论 -
鸿蒙原生APP性能优化之Web场景性能优化(一)
ArkWeb(方舟Web)是一个Web组件平台,旨在为应用程序提供展示Web页面内容的功能,并为开发者提供丰富的能力,包括页面加载、页面交互、页面调试等功能。在这个数字化时代,页面显示的速度直接体现了应用的流畅性,影响着用户对应用的印象和体验。快速加载并展示页面不仅可以吸引用户留在应用上,还能减少他们的等待时间和不耐烦情绪,从而提升用户的满意度。Web页面的显示过程可以被分为多个阶段,包括DNS解析、建立连接、发送请求、接收响应、解析HTML、下载资源等步骤。原创 2024-11-11 22:24:48 · 630 阅读 · 0 评论 -
鸿蒙原生APP性能优化之ArkTS高性能编程
高性能编程指的是在语法使用过程中,通过优化一些影响性能的代码片段,使代码以最优的方式执行。以下实践是在开发过程中逐步总结出来的一些高性能的写法和建议,实践包含变量声明、属性的访问、数值计算、数据结构的使用以及函数声明与使用等内容,在业务功能实现过程中,要同步思考并理解高性能写法的原理,运用到代码逻辑实现中。原创 2024-11-11 21:25:39 · 1093 阅读 · 0 评论 -
鸿蒙原生APP性能优化之高负载场景下分帧渲染
在应用开发中,页面内列表结构复杂,每个列表项包含的组件较多,就会导致嵌套层级较深,从而引起组件负载加重,绘制耗时增长。在这种情况下,转场或者列表滑动的时候列表项就会一次性加载大量的数据,此时可以采用分帧渲染,将本来一帧内加载的数据分成多帧加载,但是分帧渲染需要开发者计算每帧中加载多少数据,操作复杂,因此在必要的情况下才推荐使用。通过上面的示例代码和优化过程,可以看到在列表中使用组件复用时,一次性全部加载时可能会引起掉帧。原创 2024-11-11 20:39:17 · 716 阅读 · 0 评论 -
鸿蒙原生APP性能优化之全局自定义组件复用
默认的组件复用行为,是将子组件放在父组件的缓存池里,受到这个限制,不同父组件中的相同子组件无法复用,推荐的解决方案是将父组件改为builder函数,让子组件共享组件复用池,但是由于在一些应用场景下,父组件承载了复杂的带状态的业务逻辑,而builder是无状态的,修改会导致难以维护,因此开发者可以使用BuilderNode自行管理组件复用池。使用List+Swiper实现Tabs页面切换。// 点击标题时,Swiper组件跳转到对应的页面// 设置标题为选中状态。原创 2024-11-11 17:34:17 · 1058 阅读 · 0 评论 -
鸿蒙原生APP性能优化之主线程耗时操作优化
在应用开发实践中,有效避免主线程执行冗余与易耗时操作是至关重要的策略。此举能有效降低主线程负载,提升UI的响应速度。面对高频回调接口在短时间内密集触发的场景,需要避免接口内的耗时操作,尽量保证主线程不被长时间占用,从而防止阻塞UI渲染,引发界面卡顿或掉帧现象。本文介绍开发过程中常见的冗余操作,常见的高频回调场景以及其他主线程优化思路。开发过程中,在主线程执行一些耗时任务,可能会阻塞UI渲染导致卡顿、掉帧等性能问题。具有如下优化思路正式发布版本避免冗余日志,Trace打点以及没有业务操作的系统回调;原创 2024-11-11 16:28:05 · 741 阅读 · 0 评论 -
鸿蒙原生APP性能优化之Swiper高性能开发
在应用开发中,Swiper组件常用于翻页场景,比如:桌面、图库等应用。Swiper组件滑动切换页面时,基于按需加载原则通常会在下一个页面将要显示时才对该页面进行加载和布局绘制。针对复杂页面场景,该过程可能会持续较长时间,导致滑动过程中出现卡顿,对滑动体验造成负面影响,甚至成为整个应用的性能瓶颈。本文主要介绍Swiper性能优化的相关方法。原创 2024-11-11 15:30:28 · 1029 阅读 · 0 评论 -
鸿蒙原生APP性能优化之懒加载优化
懒加载LazyForEach是一种延迟加载的技术,它是在需要的时候才加载数据或资源,并在每次迭代过程中创建相应的组件,而不是一次性将所有内容都加载出来。懒加载通常应用于长列表、网格、瀑布流等数据量较大、子组件可重复使用的场景,当用户滚动页面到相应位置时,才会触发资源的加载,以减少组件的加载时间,提高应用性能,提升用户体验。原创 2024-11-11 14:44:52 · 434 阅读 · 0 评论 -
鸿蒙原生APP性能优化之组件复用最佳实践
列表滚动(本例中的场景):当应用需要展示大量数据的列表,并且用户进行滚动操作时,频繁创建和销毁列表项的视图可能导致卡顿和性能问题。在这种情况下,使用列表组件的组件复用机制可以重用已经创建的列表项视图,提高滚动的流畅度。动态布局更新:如果应用中的界面需要频繁地进行布局更新,例如根据用户的操作或数据变化动态改变视图结构和样式,重复创建和销毁视图可能导致频繁的布局计算,影响帧率。在这种情况下,使用组件复用可以避免不必要的视图创建和布局计算,提高性能。原创 2024-11-11 14:21:01 · 821 阅读 · 0 评论 -
鸿蒙原生APP性能优化之组件复用场景与方法详解
组件复用是优化用户界面性能,提升应用流畅度的一种重要手段,通过复用已存在的组件节点而非创建新的节点,从而确保UI线程的流畅性与响应速度。组件复用针对的是自定义组件,只要发生了相同自定义组件销毁和再创建的场景,都可以使用组件复用,例如滑动列表场景,会出现大量重复布局的创建,使用组件复用可以大幅度降低了因频繁创建与销毁组件带来的性能损耗。然而,面对复杂的业务场景或者布局嵌套的场景下,组件复用使用不当,可能会导致复用失效或者性能提升不能最大化。例如列表中存在多种布局形态的列表项,无法直接复用。原创 2024-11-10 22:07:27 · 1001 阅读 · 0 评论 -
鸿蒙原生APP性能优化之页面间转场
页面间转场是用户从一个页面切换到另一个页面时的过程,一个无缝流畅的转场动效可以提升用户的交互体验。从主页到详情页、从列表页到结果页都需要去设置一些转场动效使得用户体验更加流畅。基于用户行为和应用设计模式,我们总结出了一些常见的转场场景,包括层级转场、搜索转场、新建转场、编辑转场、通用转场、跨应用转场。针对这些转场场景,根据“人因研究”(在 HarmonyOS 中,通过大量的人因研究为UX设计提供了系统性的科学指导),给各位开发者推荐一些适合本场景下转场动效,常见的转场动效有左右位移遮罩动效、一镜到底动效等。原创 2024-11-10 21:34:09 · 620 阅读 · 0 评论 -
鸿蒙原生APP开发性能优化之ArkUI动画
动画是应用开发中必不可少的部分,它可以使应用程序更加生动和易于互动,一方面可以提升用户体验、增强视觉吸引力,另一方面可以引导用户操作、提高信息传达效率。应用程序中,页面层级间的转场、点击交互、手势操控都可以添加动画。提升动画感知流畅度:使用合适的动画能力将UX设计视角转换为开发实现视角,并将设计师提供的动效转化为具体的代码实现。这样可以确保应用在实际使用中达到设计的预期效果,提升动画感知流畅度并提供良好的用户体验。提升动画运行流畅度:优化动画资源的加载和释放,避免内存泄漏和资源浪费;原创 2024-11-10 20:13:42 · 939 阅读 · 0 评论 -
鸿蒙原生APP性能优化之状态管理最佳实践
在声明式UI编程范式中,UI是应用程序状态的函数,应用程序状态的修改会更新相应的UI界面。ArkUI采用了 MVVM 模式,其中ViewModel将数据与视图绑定在一起,更新数据的时候直接更新视图。如下图所示:**图1 **ArkUI的MVVM模式ArkUI提供了一系列装饰器实现ViewModel的能力,如 @Prop 、 @Link 、 @Provide 、 LocalStorage 等。当自定义组件内变量被装饰器装饰时变为状态变量,状态变量的改变会引起UI的渲染刷新。原创 2024-11-10 18:57:21 · 935 阅读 · 0 评论 -
鸿蒙原生APP性能优化之UI组件嵌套优化
本章节将从原理角度分析,通过ArkUI框架的执行流程,以及自定义组件的生命周期两个角度,来分析组件过度嵌套对性能的影响。如上图所示,自定义组件创建完成之后,在build函数执行之前,将先执行aboutToAppear()生命周期回调函数。执行完build函数后,还会有一些事件监听函数,例如可以使用onPageShow监听页面显示事件,onPageHide函数可以监听页面隐藏事件。最终在自定义组件析构销毁前执行aboutToDisappear函数。原创 2024-11-09 21:40:28 · 658 阅读 · 0 评论 -
【鸿蒙实战开发】一多开发实例(长视频)首页
本章介绍长视频应用中如何使用“一多”的布局能力,完成页面层级的一套页面、多端适配。同时介绍长视频应用中的 交互开发 和推荐的 资源使用 方式。原创 2024-11-05 14:55:06 · 917 阅读 · 0 评论