HarmonyOS非线性容器特性及使用场景
非线性容器实现能快速查找的数据结构,其底层通过hash或者红黑树实现,包括HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray七种。非线性容器中的key及value的类型均满足ECMA标准。HashMapHashMap可用来存储具有关联关系的key-value键值对集合,存储元素中key是唯-一的,每个ke
HarmonyOS线性容器特性及使用场景
线性容器实现能按顺序访问的数据结构,其底层主要通过数组实现,包括ArrayList、Vector、List、LinkedList、Deque、Queue、Stack七种。线性容器,充分考虑了数据访问的速度,运行时(Runtime)通过一条字节码指令就可以完成增、删、改、查等操作。ArrayListArrayList即动态数组,可用来构造全局的数组对象。 当需要频繁读取集合中的元素时,推荐
HarmonyOS CPU与I/O密集型任务开发指导
一、CPU密集型任务开发指导CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。基于多线程并发机制处理CPU密集型任务可以提高CPU利用率,提升应用程序响应速度。当进行一系列同步任务时,推荐使用Worker;而进行大量或调度点较为分散的独立任务时,不方便使用8个Worker去做负载管
HarmonyOS使用多线程并发能力开发
一、多线程并发概述1、简介并发模型是用来实现不同应用场景中并发任务的编程模型,常见的并发模型分为基于内存共享的并发模型和基于消息通信的并发模型。Actor并发模型作为基于消息通信并发模型的典型代表,不需要开发者去面对锁带来的一系列复杂偶发的问题,同时并发度也相对较高,因此得到了广泛的支持和使用,也是当前ArkTS语言选择的并发模型。由于Actor模型的内存隔离特性,所以需要进行跨线程的数据序列化传
HarmonyOS如何使用异步并发能力进行开发
一、并发概述并发是指在同一时间段内,能够处理多个任务的能力。为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,HarmonyOS系统提供了异步并发和多线程并发两种处理策略。● 异步并发是指异步代码在执行到一定程度后会被暂停,以便在未来某个时间点继续执行,这种情况下,同一时间只有一段代码在执行。● 多线程并发允许在同一时间段内同时执行多段代码。在主线程继续响应用户操作和更新UI的同时,后
HarmonyOS创作激励计划启动:助力技术创作突破边界
即日起推出HarmonyOS创作激励计划,成功投稿并入选的文章将在HarmonyOS开发者公众号上线,9大技术社区同步宣发,不仅有丰厚稿酬,还有机会赢取创作奖品!活动时间即日起-2024年12月31日,每季度按照活动规则评审奖项活动面向用户对HarmonyOS怀抱热情的开发者奖项设置注:每季度评审,稿费和一二三等奖可叠加。活动规则1、 投稿规范● 投稿入口:harmonyos@
Harmony自定义页面请求与前端页面调试
一、自定义页面请求响应Web组件支持在应用拦截到页面请求后自定义响应请求能力。开发者通过onInterceptRequest()接口来实现自定义资源请求响应 。自定义请求能力可以用于开发者自定义Web页面响应、自定义文件资源响应等场景。Web网页上发起资源加载请求,应用层收到资源请求消息。应用层构造本地资源响应消息发送给Web内核。Web内核解析应用层响应信息,根据此响应信息进行页面资源
HarmonyOS Codelab 样例 一弹窗基本使用
一、介绍本篇Codelab主要基于dialog和button组件,实现弹窗的几种自定义效果,具体效果有: 1. 警告弹窗,点击确认按钮弹窗关闭。2. 确认弹窗,点击取消按钮或确认按钮,触发对应操作。3. 加载弹窗,展示加载中效果。4. 提示弹窗,支持用户输入内容,点击取消和确认按钮,触发对应操作。5. 进度条弹窗,展
HarmonyOS 管理页面跳转及浏览记录导航
历史记录导航使用者在前端页面点击网页中的链接时,Web组件默认会自动打开并加载目标网址。当前端页面替换为新的加载链接时,会自动记录已经访问的网页地址。可以通过forward()和backward()接口向前/向后浏览上一个/下一个历史记录。在下面的示例中,点击应用的按钮来触发前端页面的后退操作。// xxx.etsimport web_webview from 
【技术视界】鸿蒙开发套件之DevEco Profiler助您轻松分析应用性能问题
作者:shizhengtao,华为性能调优工具专家应用的性能优化一直以来都是开发者所面临的一大难题,在2023HDC大会上全新亮相的HarmonyOS NEXT开发者预览版,其中鸿蒙开发套件DevEco Profiler,对应用卡顿这一问题的定位解决又提供了哪些能力呢?本文带你一探究竟。一Realtime Monitor,高效发现卡顿问题Realtime M
HarmonyOS应用侧与前端页面数据通道建立
一、 应用侧调用前端页面函数应用侧可以通过runJavaScript()方法调用前端页面的JavaScript相关函数。在下面的示例中,点击应用侧的“runJavaScript”按钮时,来触发前端页面的htmlTest()方法。● 前端页面代码。<!-- index.html --> <!DOCTYPE html> &l
HarmonyOS应用开发Web组件基本属性应用和事件
一、Web组件概述Web组件用于在应用程序中显示Web页面内容,为开发者提供页面加载、页面交互、页面调试等能力。● 页面加载:Web组件提供基础的前端页面加载的能力,包括加载网络页面、本地页面、Html格式文本数据。● 页面交互:Web组件提供丰富的页面交互的方式,包括:设置前端页面深色模式,新窗口中加载页面,位置权限管理,Cookie管理,应用侧使用前端页面JavaScrip
HarmonyOS Codelab 优秀样例——溪村小镇(ArkTS)
一、 介绍溪村小镇是一款展示溪流背坡村园区风貌的应用,包括园区内的导航功能,小火车行车状态查看,以及各区域的风景展览介绍,主要用于展示HarmonyOS的ArkUI能力和动画效果。具体包括如下功能:1. 打开应用时进入启动页,启动页轮播展示溪村小镇风景图,之后进入应用首页。2. 在首页的“地图浏览”标签页,可以拖
HarmonyOS应用开发—资源分类与访问
应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。● 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同的设备或配置中的表现。● 系统资源:开发者直接使用系统预置的资源定义(即分层参数,同一资源ID在设备类型、深浅色等不同配置下有不同的取值)。资源分类resources目录应用开发中使用的各类资源文件
建议收藏!Harmony应用配置文件概述(Stage模型)
一. 应用配置文件每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。在基于Stage模型开发的应用项目代码下,都存在一个app.json5及一个或多个module.json5这两种配置文件。app.json5主要包含以下内容:● 应用的全局配置信息,包含应用的包名、开发厂商、版本号等基本信息。● 特定设备类
HarmonyOS实现几种常见图片点击效果
一. 样例介绍HarmonyOS提供了常用的图片、图片帧动画播放器组件,开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果、点击切换状态、点击动画效果、点击切换动效。相关概念● image组件:图片组件,用于图片资源的展示。● image-animator组件:帧动画播放器,用以播放一组图片,可以设置播放时间、次数等参数。● 通用事
HarmonyOS实现静态与动态数据可视化图表
一. 样例介绍本篇Codelab基于switch组件和chart组件,实现线形图、占比图、柱状图,并通过switch切换chart组件数据的动静态显示。要求实现以下功能:1. 实现静态数据可视化图表。2. 打开开关,实现静态图切换为动态可视化图表相关概念● switch组件:开关选择器,通过开关,开启或
HarmonyOS实现表单页面的输入,必填校验和提交
一. 样例介绍本篇Codelab基于input组件、label组件和dialog组件,实现表单页面的输入、必填校验和提交:1. 为input组件设置不同类型(如:text,email,date等),完成表单页面。2. 对表单页面中的用户名、电子邮件、爱好输入框进行必填校验。3. &nbs
开发指导—利用组件&插值器动画实现HarmonyOS动效
一. 组件动画在组件上创建和运行动画的快捷方式。具体用法请参考通用方法。获取动画对象通过调用animate方法获得animation对象,animation对象支持动画属性、动画方法和动画事件。<!-- xxx.hml --> <div class="container"> <di
开发指导—利用CSS动画实现HarmonyOS动效(二)
注:本文内容分享转载自HarmonyOS Developer官网文档点击查看《开发指导—利用CSS动画实现HarmonyOS动效(一)》3. background-position样式动画通过改变background-position属性(第一个值为X轴的位置,第二个值为Y轴的位置)移动背景图片位置,若背景图位置超出组件则超出部分的背景图不显示。<!-- xxx