
HarmonyOS学习笔记
文章平均质量分 87
鸿蒙客户端开发基础知识总结
Lincode12
这个作者很懒,什么都没留下…
展开
-
HarmonyOS--Canvas画布组件
HarmonyOS–鸿蒙三方库–lottie。原创 2024-12-17 15:31:23 · 745 阅读 · 0 评论 -
HarmonyOS--鸿蒙三方库--lottie
Lottie 是 OpenHarmony 的一个动画库,它可以解析 Adobe After Effects 动画,使用 Bodymovin 导出为 JSON 文件,并在移动设备上本地呈现它们。原创 2024-12-16 22:34:56 · 847 阅读 · 0 评论 -
HarmonyOS--多线程并发
由于TaskPool的工作线程会绑定系统的调度优先级,并且支持负载均衡(自动扩缩容),而Worker需要开发者自行创建,存在创建耗时以及不支持设置调度优先级,故在性能方面使用TaskPool会优于Worker,因此大多数场景推荐使用TaskPool。系统默认会启动一个任务工作线程,当任务较多时会扩容,工作线程数量上限跟当前设备的物理核数相关,具体数量内部管理,保证最优的调度及执行效率,长时间没有任务分发时会缩容,减少工作线程数量。例如大图浏览场景,为提升体验,图片缓存策略,需要使用TaskPool。原创 2024-12-12 00:04:52 · 328 阅读 · 0 评论 -
HarmonyOS--Navigation页面栈选择
对一个应用进行合理的路由管理,尤其是在复杂的应用中,需要确保应用的页面、状态和导航逻辑清晰、可维护,并且能够高效响应用户操作。当写一个项目的时候,需要对该项目进行管理,使用Navigation的时候就需要使用页面栈管理页面,这时候就会出现一个问题,到底是整个应用是由一个页面栈进行管理还是说使用多个页面栈呢?多个页面栈通常用于更复杂的导航结构,例如 Tab 导航或 Drawer 导航中的嵌套 Stack Navigator,每个独立的导航层级会有自己的栈来管理页面。首先,明确应用的整体导航结构。原创 2024-12-01 23:10:28 · 448 阅读 · 0 评论 -
HarmonyOS--数据存储
如上图,不要被图片吓到,这里我们只需要了解我们要操作的只是Preference这个名字叫用户首选项的东西,我们通过它对轻量级信息进行数据的读写,就是那么简单,不需要了解到它是如何工作的,只需要会用它。恭喜你顺利学会了使用首选项存储数据!!!首选项的作用当然不止存储数据的功能,想要很好的运用它,需要去做更多的Demo去理解它的妙处和关系型存储的区别。首次应用启动实例关系型数据库基于SQLite组件,适用于存储包含复杂关系数据的场景,这里需要我们拥有最基础的MYSQL基础。原创 2024-12-01 22:52:51 · 1157 阅读 · 0 评论 -
HarmonyOS--Navigation跨模块页面路由实现模块间解耦
我们通过模块化设计以及分层设计来设计一个应用,这里不免会遇到一些问题比如说,你需要在模块a的页面a,跳转到模块b的页面a,就好比当你发现用户没有登录的时候,你需要在首页模块的第一个页面跳转到登录模块的登录页面那么最基础的实现方法就是两个模块相互依赖后,导入该页面。本篇文章讲述了实现模块间解耦的跨模块路由方法,具体是怎么解耦的呢?按照基本方法,你需要在模块A的a页面跳转到模块B的a页面,你需要在模块A添加依赖,然后导入目标页面到routeMap里进行路由,这样会导致模块间可能出现循环依赖,而且高耦合。原创 2024-11-24 20:43:35 · 1112 阅读 · 0 评论 -
HarmonyOS--仿小红书实现无限瀑布流
本示例仿照小红书界面实现无限瀑布流,并对瀑布流进行性能上的优化ps:使用的是死数据瀑布流优化方向实现懒加载:当加载大量数据的时候,对列表加载进行优化缓存数据项:合理缓存数据可以提升性能组件复用:实现组件复用机制可以减少内存优化性能无限滑动:合理使用加载数据触发条件提升用户体验固定宽高:可以避免整个数据源的刷新,减少整个瀑布流的频闪实现效果懒加载使适用于瀑布流需要一次性加载并渲染大量数据而造成性能瓶颈问题的场景。长列表加载性能优化使用懒加载优化性能数据懒加载缓存列表项。原创 2024-11-19 18:29:01 · 1279 阅读 · 0 评论 -
HormonyOS--状态管理
当状态变量频繁变更的时候,只需要展示第一次和最后一次变更好的,不需要在UI进行刷新,在中间不断变更的时候可以使用临时变量代替状态变量来优化性能,状态变量只需观察到第一次和最后一次的最终结果。假设一个买菜软件下的,点击一下加按钮,旁边的数字就会加1,如果该变量不是状态变量,就算该变量改变了,UI界面也是不会改变的,要达到UI界面实时的更新,就要使它成为状态变量。鸿蒙使用装饰器来完成这一操作,被装饰的变量就可以成为状态变量,当数值改变时,就会引起UI界面的重新刷新,实现实时更新。下面是MVVM模式的一个实例。原创 2024-09-24 21:25:54 · 667 阅读 · 0 评论 -
HarmonyOS--控制渲染
ArkUI通过自定义组件的build()函数和@Builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数据快速生成组件的循环渲染语句,针对大数据量场景的数据懒加载语句,针对混合模式开发的组件渲染语句。原理是当if分支状态没有变化,就会正常创建组件没有变化如果If分支有变化,则会删除所有父组件下的子组件并重新构造。原创 2024-11-17 22:39:37 · 594 阅读 · 0 评论 -
HormonyOS--动态构建UI元素(@Builder@Style@Extend)
本篇文章介绍了ArkTS扩展的一些语法范式为开发者提供便利,如:@Builder/@BuilderParam:特殊的封装UI描述的方法,细粒度的封装和复用UI描述。@Extend/@Styles:扩展内置组件和封装属性样式,更灵活地组合内置组件。stateStyles:多态样式,可以依据组件的内部状态的不同,设置不同样式。本篇文章主要讲述@Builder@LocalBuilder@BuilderParam,wrapBuilder,之间的区别关系以及使用规范。原创 2024-11-17 22:30:34 · 1087 阅读 · 0 评论