自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [HarmonyOS Next 性能]鸿蒙性能优化 - 长列表加载性能优化

方式一,循环渲染:通过循环渲染(ForEach)从数组中获取数据,并为每个数据项创建相应的组件,可减少代码复杂度。方式二,数据懒加载:通过数据懒加载(LazyForEach)从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。LazyForEach懒加载可以通过设置cachedCount来指定缓存数量,在设置cachedCount后,除屏幕内显示的ListItem组件外,还会预先将屏幕可视区外指定数量的列表项数据缓存。

2024-10-19 18:23:13 1176

原创 [HarmonyOS Next 性能]鸿蒙性能优化 - TaskPool和Worker的对比实践

对比维度WorkerTaskPool编码效率Worker需要开发者关注线程数量的上限,管理线程生命周期,随着任务的增多也会增加线程管理的复杂度。TaskPool简单易用,开发者很容易上手。数据传输TaskPool与Worker都具有转移控制权、深拷贝两种方式,Worker不支持任务方法的传递,只能将任务方法写在Worker.js文件中。传输方式与Worker相同;TaskPool支持任务方法的传递,因此相较于Worker,TaskPool多了任务方法的序列化与反序列化步骤。

2024-10-19 18:22:29 829

原创 【鸿蒙开发示例代码】多线程任务

本示例通过@ohos.taskpool和@ohos.worker接口,展示了如何启动worker线程和taskpool线程。

2024-09-20 20:39:01 1109

原创 【鸿蒙开发示例代码】语言基础类库

ohos.convertxml (xml转换JavaScript)@ohos.taskpool (启动任务池)@ohos.uri (URI字符串解析)@ohos.util (util工具函数)@ohos.ArkTSUtils (ArkTSUtils工具函数)@ohos.util.ArrayList (线性容器ArrayList)@ohos.util.Deque (线性容器Deque)@ohos.util.HashMap (非线性容器HashMap)

2024-09-20 20:38:03 877

原创 【鸿蒙开发示例代码】N-Body模拟程序

在本示例中,使用ArkTS编程语言开发了业界编程语言基准测试项目中的N体问题模拟程序,实现类木星体轨道计算。本示例用到了@ohos.taskpool和@ohos.worker 接口。示例中的程序可以用于AOT(Ahead Of Time)等性能测试。

2024-09-20 20:35:01 920

原创 【鸿蒙开发示例代码】简单时钟

本篇Sample主要介绍如何使用Drawing绘制一个bitmap,然后通过NativeWindow贴图到XComponent的双缓冲实现。双缓冲:在内存中创建一片内存区域,把将要绘制的图片预先绘制到内存中,在绘制显示的时候直接获取缓冲区的图片进行绘制。更具体一点来说:先通过Drawing方法将要绘制的所有的图形绘制到一个Bitmap上也就是先在内存空间完成,然后获取位图的像素地址、并将其拷贝到XComponent的NativeWindow地址。完成贴图,将图片显示在屏幕上。

2024-09-20 20:30:25 494

原创 【鸿蒙开发示例代码】Native多线程示例

本示例以生产者-消费者模型为案例来介绍如何进行Native多线程开发以及线程间通信。Native侧通过调用C++标准库实现生产者-消费者模型,并分别使用了多种线程间通信的方式来进行ArkTS应用侧数据传输,以实现UI界面图片刷新。

2024-09-20 20:29:43 702

原创 【鸿蒙开发示例代码】基础数据类型转化示例

本示例介绍如何使用DevEco Studio创建一个Native C++应用,将ArkTS侧的数据(基础的数据类型)传递到Native侧进行处理并返回结果到ArkTS侧。

2024-09-20 20:17:28 1115

原创 【鸿蒙开发示例代码】Native XComponent

本示例中主要介绍开发者如何使用Native XComponent接口来获取NativeWindow实例、获取布局/事件信息、注册事件回调、通过OpenGL/EGL实现在页面上绘制形状、渲染YUV图像文件。功能主要包括点击按钮绘制一个五角星,并可以通过点击XComponent区域改变五角星的颜色;点击按钮渲染YUV图像文件。

2024-09-20 20:10:44 860

原创 【鸿蒙开发示例代码】dlopen加载so库并获取Rawfile资源

本示例中主要介绍在TaskPool子线程中使用dlopen加载so库,以及如何使用Native Rawfile接口操作Rawfile目录和文件。功能包括文件列表遍历、文件打开、搜索、读取和关闭Rawfile。

2024-09-20 20:09:52 614

原创 【鸿蒙开发示例代码】OpenGL三棱椎

XComponent控件常用于相机预览流的显示和游戏画面的绘制,在HarmonyOS上,可以配合Native Window创建OpenGL开发环境,并最终将OpenGL绘制的图形显示到XComponent控件。本示例基于"Native C++"模板,调用OpenGL(OpenGL ES)图形库相关API绘制3D图形(三棱锥),并将结果渲染到页面的XComponent控件中进行展示。

2024-09-20 20:08:31 733

原创 【鸿蒙开发示例代码】XComponent + Vsync 实现自定义动画

XComponent提供了应用在native侧调用OpenGLES图形接口的能力,本文主要介绍如何配合Vsync事件,完成自定义动画。在这种实现方式下,自定义动画的绘制不在UI主线程中完成,即使主线程卡顿,动画效果也不会受影响。

2024-09-20 20:07:30 344

原创 【鸿蒙开发示例代码】Native保存图片到应用沙箱

本示例主要介绍Native如何将网络上的图片及Rawfile中的图片保存到应用沙箱中。

2024-09-20 20:06:43 408

原创 【鸿蒙开发示例代码】在Native侧实现进度通知功能

本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。

2024-09-20 20:05:57 400

原创 【鸿蒙开发示例代码】UI设计套件

本示例主要展示了UI Design Kit(UI设计套件)相关的功能。使用ArkUI、Localization Kit、Image Kit等接口,实现了图标合成、剪切、缩放、描边等功能。

2024-09-20 20:04:21 676

原创 【鸿蒙开发示例代码】组件堆叠

本示例介绍运用Stack组件以构建多层次堆叠的视觉效果。通过绑定Scroll组件的onScrollFrameBegin滚动事件回调函数,精准捕获滚动动作的发生。当滚动时,实时地调节组件的透明度、高度等属性,从而成功实现了嵌套滚动效果、透明度动态变化以及平滑的组件切换。

2024-09-20 20:03:11 517

原创 [HarmonyOS Next 性能]鸿蒙性能优化 - 调优工具合集

本文重点介绍应用开发过程中开发套件涉及的性能工具集,目前DevEco Stduio主要集成了四种性能工具,在不同的开发阶段各有侧重,主要分为性能问题检测类工具和性能问题分析类工具。

2024-09-19 11:20:52 543

原创 【鸿蒙开发示例代码】Tab组件实现增删Tab标签

本示例介绍使用了Tab组件实现自定义增删Tab页签的功能。该场景多用于浏览器等场景。

2024-09-19 11:06:10 414

原创 【鸿蒙开发示例代码】长列表性能对比

本示例分别使用ForEach与LazyForEach实现了长列表,并在LazyForEach懒加载的基础上实现了缓存列表项与组件复用,旨在不同大小的数据下,对比ForEach与LazyForEach的性能,包括完全显示所用时间、丢帧率等性能指标。

2024-09-18 20:41:54 810

原创 【鸿蒙开发示例代码】底部抽屉滑动效果案例

本示例介绍了利用List实现底部抽屉滑动效果场景,并将界面沉浸式(全屏)显示,及背景地图可拖动。

2024-09-18 20:41:02 459

原创 【鸿蒙开发示例代码】内容发布器

本示例通过RichEditor组件以及常用的ArkUI组件,实现一个图文内容发布器。

2024-09-18 20:40:02 508

原创 【鸿蒙开发示例代码】画中画效果实现

本示例通过@kit.ArkUI、@kit.MediaKit等接口,实现了视频播放、手动和自动拉起画中画、画中画窗口控制视频播放和暂停等功能。

2024-09-18 20:38:46 317

原创 【鸿蒙开发示例代码】基于子窗口实现悬浮窗

本示例通过子窗口实现悬浮窗以及画中画功能实现视频小窗,介绍子窗口相关操作以及画中画功能。

2024-09-18 20:37:55 468

原创 【鸿蒙开发示例代码】文字特效合集

本示例基于Text组件及通用属性实现多种文字特效。

2024-09-18 20:36:46 399

原创 【鸿蒙开发示例代码】列表编辑效果

本示例基于List组件,实现待办事项管理、文件管理、备忘录的等场景列表编辑效果。

2024-09-18 20:35:45 336

原创 【鸿蒙开发示例代码】阅读器翻页效果实现

本示例基于显式动画、Canvas组件实现了阅读器上下滑动翻页、左右覆盖翻页、左右滑动翻页等效果。

2024-09-18 20:33:40 460

原创 【鸿蒙开发示例代码】动效案例合集

本示例基于基础组件、通用属性、显式动效,实现多种常见动效案例。

2024-09-18 20:32:22 341

原创 【鸿蒙开发示例代码】组件集合

本示例为ArkUI中组件、通用、动画、全局方法的集合。

2024-09-18 20:31:25 2326

原创 【鸿蒙开发示例代码】发布图片评论

本示例通过拉起系统相机实现发布图片评论。

2024-09-18 20:30:11 447

原创 【鸿蒙开发示例代码】短视频切换

本示例基于Swiper组件实现了短视频的滑动上下切换。

2024-09-18 20:29:12 200

原创 【鸿蒙开发示例代码】软键盘弹出

本示例展示了输入框在顶部和底部时软键盘弹出对页面布局的影响。

2024-09-18 20:28:23 485

原创 【鸿蒙开发示例代码】深色模式

本示例通过@ohos.app.ability.ConfigurationConstant等接口,进行深色模式的设置。

2024-09-18 20:27:38 366

原创 【鸿蒙开发示例代码】图案密码锁

本示例展示了图案密码锁组件的使用,实现了密码设置、验证和重置功能。图案密码锁组件:以宫格图案的方式输入密码,用于密码验证。手指触碰图案密码锁时开始进入输入状态,手指离开屏幕时结束输入状态并向应用返回输入的密码。使用到用户首选项接口@ohos.data.preferences 异步获取用户设定过的密码。

2024-09-18 20:26:34 674

原创 【鸿蒙开发示例代码】简单时钟

本示例通过使用@ohos.display接口以及Canvas组件来实现一个简单的时钟应用。

2024-09-14 15:34:11 522

原创 【鸿蒙开发示例代码】UI框架-二维列表

该示例通过组件嵌套滚动实现一个响应左右滑动以及上下滑动的列表。

2024-09-14 15:33:24 422

原创 【鸿蒙开发示例代码】列表项交换案列

本示例主要实现了List列表项的交换与删除功能。

2024-09-14 15:32:36 280

原创 【鸿蒙开发示例代码】基于Grid的嵌套混合布局

本示例主要实现了Grid组件和List组件以及Swiper组件的嵌套混合布局。

2024-09-14 15:31:50 361

原创 【鸿蒙开发示例代码】验证码场景合集

本示例介绍了文本框显示光标、底部加横条、背景颜色改变、选择验证码、滑块验证码五种验证码实例。

2024-09-14 15:30:42 523

原创 【鸿蒙开发示例代码】特殊文字识别

本示例介绍使用Text组件的enableDataDetector属性实现文本特殊文字识别。

2024-09-14 15:29:39 451

原创 【鸿蒙开发示例代码】自定义弹窗

本示例使用自定义弹窗(CustomDialog)、全屏模态转场(bindContentCover)、半模态转场(bindSheet)等实现多种自定义弹窗。

2024-09-14 15:28:50 878

空空如也

空空如也

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

TA关注的人

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