自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双指针法--数组链表篇

双指针法在数组和链表中的一部分应用

2024-07-21 16:44:20 1589 1

原创 HarmonyOS--Canvas画布组件

HarmonyOS–鸿蒙三方库–lottie。

2024-12-17 15:31:23 717

原创 HarmonyOS--鸿蒙三方库--lottie

Lottie 是 OpenHarmony 的一个动画库,它可以解析 Adob​​e After Effects 动画,使用 Bodymovin 导出为 JSON 文件,并在移动设备上本地呈现它们。

2024-12-16 22:34:56 812

原创 HarmonyOS--多线程并发

由于TaskPool的工作线程会绑定系统的调度优先级,并且支持负载均衡(自动扩缩容),而Worker需要开发者自行创建,存在创建耗时以及不支持设置调度优先级,故在性能方面使用TaskPool会优于Worker,因此大多数场景推荐使用TaskPool。系统默认会启动一个任务工作线程,当任务较多时会扩容,工作线程数量上限跟当前设备的物理核数相关,具体数量内部管理,保证最优的调度及执行效率,长时间没有任务分发时会缩容,减少工作线程数量。例如大图浏览场景,为提升体验,图片缓存策略,需要使用TaskPool。

2024-12-12 00:04:52 308

原创 HarmonyOS--Navigation页面栈选择

对一个应用进行合理的路由管理,尤其是在复杂的应用中,需要确保应用的页面、状态和导航逻辑清晰、可维护,并且能够高效响应用户操作。当写一个项目的时候,需要对该项目进行管理,使用Navigation的时候就需要使用页面栈管理页面,这时候就会出现一个问题,到底是整个应用是由一个页面栈进行管理还是说使用多个页面栈呢?多个页面栈通常用于更复杂的导航结构,例如 Tab 导航或 Drawer 导航中的嵌套 Stack Navigator,每个独立的导航层级会有自己的栈来管理页面。首先,明确应用的整体导航结构。

2024-12-01 23:10:28 425

原创 HarmonyOS--数据存储

如上图,不要被图片吓到,这里我们只需要了解我们要操作的只是Preference这个名字叫用户首选项的东西,我们通过它对轻量级信息进行数据的读写,就是那么简单,不需要了解到它是如何工作的,只需要会用它。恭喜你顺利学会了使用首选项存储数据!!!首选项的作用当然不止存储数据的功能,想要很好的运用它,需要去做更多的Demo去理解它的妙处和关系型存储的区别。首次应用启动实例关系型数据库基于SQLite组件,适用于存储包含复杂关系数据的场景,这里需要我们拥有最基础的MYSQL基础。

2024-12-01 22:52:51 1111

原创 HarmonyOS--Navigation跨模块页面路由实现模块间解耦

我们通过模块化设计以及分层设计来设计一个应用,这里不免会遇到一些问题比如说,你需要在模块a的页面a,跳转到模块b的页面a,就好比当你发现用户没有登录的时候,你需要在首页模块的第一个页面跳转到登录模块的登录页面那么最基础的实现方法就是两个模块相互依赖后,导入该页面。本篇文章讲述了实现模块间解耦的跨模块路由方法,具体是怎么解耦的呢?按照基本方法,你需要在模块A的a页面跳转到模块B的a页面,你需要在模块A添加依赖,然后导入目标页面到routeMap里进行路由,这样会导致模块间可能出现循环依赖,而且高耦合。

2024-11-24 20:43:35 1059

原创 HarmonyOS--仿小红书实现无限瀑布流

本示例仿照小红书界面实现无限瀑布流,并对瀑布流进行性能上的优化ps:使用的是死数据瀑布流优化方向实现懒加载:当加载大量数据的时候,对列表加载进行优化缓存数据项:合理缓存数据可以提升性能组件复用:实现组件复用机制可以减少内存优化性能无限滑动:合理使用加载数据触发条件提升用户体验固定宽高:可以避免整个数据源的刷新,减少整个瀑布流的频闪实现效果懒加载使适用于瀑布流需要一次性加载并渲染大量数据而造成性能瓶颈问题的场景。长列表加载性能优化使用懒加载优化性能数据懒加载缓存列表项。

2024-11-19 18:29:01 1241 1

原创 HarmonyOS--控制渲染

ArkUI通过自定义组件的build()函数和@Builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数据快速生成组件的循环渲染语句,针对大数据量场景的数据懒加载语句,针对混合模式开发的组件渲染语句。原理是当if分支状态没有变化,就会正常创建组件没有变化如果If分支有变化,则会删除所有父组件下的子组件并重新构造。

2024-11-17 22:39:37 578

原创 HormonyOS--动态构建UI元素(@Builder@Style@Extend)

本篇文章介绍了ArkTS扩展的一些语法范式为开发者提供便利,如:@Builder/@BuilderParam:特殊的封装UI描述的方法,细粒度的封装和复用UI描述。@Extend/@Styles:扩展内置组件和封装属性样式,更灵活地组合内置组件。stateStyles:多态样式,可以依据组件的内部状态的不同,设置不同样式。本篇文章主要讲述@Builder@LocalBuilder@BuilderParam,wrapBuilder,之间的区别关系以及使用规范。

2024-11-17 22:30:34 1061

原创 HarmonyOS--动态构建UI元素--详解@Builder

Builder是一种轻量级实现结UI复用机制的装饰器,也叫自定义构建函数。全局自定义构建函数最好使用对象字面量传值的方式进行UI的刷新私有自定义构建函数如需进行渲染,最好不传值直接使用this的方式。

2024-10-28 22:49:00 465

原创 HarmonyOS--三层架构设计

DevEco Studio创建出的默认工程仅包含一个的entry类型的模块,如果直接使用平级目录进行模块管理,工程逻辑结构较混乱且模块间的依赖关系不够清晰,不利于多人开发和维护。三层架构设计清晰了项目各个层次的分工,明确了模块功能的划分,利于开发和维护。

2024-10-15 08:40:56 1060

原创 git 多人协作模式--feature branching

feacrture branching是一个多人协作开发的模式,在主分支master上,每个开发者在主分支上建立新的自己的分支用于开发自己的功能。在实际开发中,master 分支非常强调环境的稳定性。因此当我们要开发新的功能或者特性时,需要从 master 分支上拉取 feacture 分支,这样开发者就能在 feacture 分支上独立开发而不影响主分支。当完成开发后,需要提交 pull request 将 feacture 分支合并回 master 分支中。

2024-10-08 19:54:15 696

原创 HormonyOS--状态管理

当状态变量频繁变更的时候,只需要展示第一次和最后一次变更好的,不需要在UI进行刷新,在中间不断变更的时候可以使用临时变量代替状态变量来优化性能,状态变量只需观察到第一次和最后一次的最终结果。假设一个买菜软件下的,点击一下加按钮,旁边的数字就会加1,如果该变量不是状态变量,就算该变量改变了,UI界面也是不会改变的,要达到UI界面实时的更新,就要使它成为状态变量。鸿蒙使用装饰器来完成这一操作,被装饰的变量就可以成为状态变量,当数值改变时,就会引起UI界面的重新刷新,实现实时更新。下面是MVVM模式的一个实例。

2024-09-24 21:25:54 652

原创 鸿蒙开发--自定义弹窗

首先是自定义弹窗模块//需要new一个CustomDialogController类型的变量build() {Column(){Text('是否改变父组件的文字')然后是主模块对应调用自定义弹窗//导入自定义弹窗模块@Entry@Component//初始化一个控制器,里面的builder后面的内容为自定义弹窗模块的名字})build() {Column(){Button('点我跳出弹窗')//控制弹窗的打开})以上就是自定义弹出没有设置最简单的调用。

2024-09-10 19:50:36 412

原创 鸿蒙OS开发--初级计算器实例

栈的基本操作,将中缀表达式变成后缀表达式并计算结果首选项数据存储的应用,将上次程序留下的表达式进行保存ArkUI的基础布局知识,用于布局数字和符号的按钮,以及表达式字体的大小。通过按钮输入表达式,点击等于能够计算出结果,其中,当操作表达式的时候表达式字体较大,点击等于显示结果的时候字体较大,另外可以继续操作结果。首选项数据存储的应用,将上次程序留下的表达式进行保存。识别括号和‘-’号,优先计算括号里的内容,能够进行加减乘除的运算。实现清零和‘

2024-08-04 20:38:49 1994

原创 鸿蒙开发--首次应用启动实例

通过创建弹窗来学习熟知自定义弹窗@Customdialog的创建,获取实例,创建弹窗结构,实现弹窗功能。通过页面之间的来回跳转熟知页面路由等相关知识。通过首选项数据存储来获取 用户登录状态可以学习首选项数据的创建,获取实例,操作首选项的数据等。通过延迟页面学习定时器的相关内容。通过弹窗出现影藏场景可以熟知Ability生命周期钩子的实际应用场景。实现本次案例之前最好学习了以上相关知识,接下来就是代码的实现了。注:本文为个人学习资料总结内容,更官方的项目讲解和源代码如下:首次应用启动。

2024-07-28 17:32:28 1910

空空如也

空空如也

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

TA关注的人

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