自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通过用户首选项实现数据持久化

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取的时候,能够快速从内存中获取数据,当需要持久化时可以使用flush接口将内存中的数据写入持久化文件中。

2024-09-12 21:42:44 590

原创 鸿蒙开发-装饰器汇总

状态管理机制:声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。被@Entry装饰的组件会被视为当前页面的默认入口组件,支持页面预览和组件树结构的根节点。将结构体标记为可复用的UI组件,使其具有组件化能力,能够成为一个独立的组件。在子组件中定义需要从父组件接收的属性,实现父组件到子组件的数据单向传递。达成父组件与子组件之间的数据双向传递,允许子组件修改并同步数据回父组件。在@Styles的基础上,用于扩展组件的样式或行为,可抽离公共的样式。

2024-09-12 11:30:18 266

原创 鸿蒙开发-线程模型

FA模型下的线程主要有如下三类:主线程:负责管理其他线程。Worker线程:执行耗时操作。基于当前的线程模型,不同的业务功能运行在不同的线程上,业务功能的交互就需要线程间通信。线程间通信目前主要有和两种方式,其中Emitter主要适用于线程间的事件同步, Worker主要用于新开一个线程执行耗时任务。

2024-09-11 19:41:56 721

原创 应用冷启动优化-下

本文主要介绍了应用冷启动的流程、如何识别和分析冷启动缓慢问题,同时介绍了针对应用冷启动流程各阶段,一些注意事项和优化方法启动页图标startWindowIcon分辨率建议不超过256px*256px。在AbilityStage、UIAbility和自定义组件的生命周期回调函数中不建议直接执行耗时任务,比如复杂的计算任务、同步文件读写等耗时任务,建议通过异步任务延迟处理或者放到其他线程执行。import模块按需加载,移除初始化阶段不需要的模块导入,考虑动态加载耗时的模块。

2024-09-10 20:45:11 1209

原创 应用冷启动优化-上

应用启动时延是影响用户体验的关键要素,当用户点击桌面应用图标、通知或其他入口启动应用,到用户的数据显示在屏幕上,如果这段时间花费的时间比较长,这样肯定会影响用户的体验。应用启动可以分为冷启动和热启动,当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, 这种启动方式就叫做冷启动;而热启动是当应用程序已经在后台运行,用户再次打开应用程序时,应用程序仍然在内存中,可以直接从内存中加载并继续之前的状态,而不需要重新初始化和加载资源。

2024-09-10 20:16:36 797

原创 性能优化-应用流畅度概述及指标

在应用开发中,开发者应致力于确保用户在使用应用程序时能够体验无缝、自然和舒适的感觉。流畅的体验不仅能够提高用户的满意度,还能够增强用户对应用程序的好感度,并对应用程序的成功与否产生重要影响。然而,感知流畅性不等同于系统性能。优秀的系统性能是保证用户感知流畅的必要条件,但好的系统性能不一定带来好的感知流畅性。系统性能、资源调度能力、图形渲染技术、硬件启动速度等指标必须通过界面反馈才能影响用户的感知,这意味着应用程序的界面设计、交互体验以及性能优化应当经过精心考量。

2024-09-09 19:44:39 1098

原创 ArkTS高性能编程

高性能编程指的是在语法使用过程中,通过优化一些影响性能的代码片段,使代码以最优的方式执行。以下实践是在开发过程中逐步总结出来的一些高性能的写法和建议,实践包含变量声明、属性的访问、数值计算、数据结构的使用以及函数声明与使用等内容,在业务功能实现过程中,要同步思考并理解高性能写法运的原理,用到代码逻辑实现中。

2024-09-08 21:47:59 840

原创 LazyForEach:数据懒加载的使用

介绍:LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。

2024-09-07 20:07:35 772

空空如也

空空如也

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

TA关注的人

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