【每日学点鸿蒙知识】图片控件对齐、上架的应用无法拉起应用详情页、RotateOptions配置、签名配置问题、弹框背景色

server/2024/12/28 4:36:31/
1、HarmonyOS 异步接口是否会启动一个子线程来执行其中的逻辑?

异步机制ArkTS仅在单线程(主线程)上执行任务,其异步机制与JavaScript一致,都是通过宿主环境提供的线程实现(napi,其接口与nodejs一致),即通过EventLoop实现。

EventLoop负责循环监视调用堆栈和回调队列,如果调用堆栈为空,它将从回调队列中获取第一个事件,并将其推送到调用堆栈。

以setTimeout为例:
console.log(‘Hi’);setTimeout(function cb1() {console.log(‘cb1’);}, 5000);console.log(‘Bye’);
执行顺序:

  • console.log(‘Hi’); 该语句被添加到调用堆栈中,随着执行完,被移除调用堆栈;
  • setTimeout(function cb1() { … });该语句首先被添加到调用堆栈,被执行时,宿主环境创建了一个计时器,为代码计时。当该语句被执行完,会被移除调用堆栈。
  • 等待至少5000ms,定时器执行完,把cb1回调函数添加到回调队列里面,EventLoop把cb1从回调队列中取出,添加到调用堆栈中。

注意,setTimeout中设置的时间,是计时器过期时将回调放入回调队列的时间,而不是回调函数被执行的时间(只有调用栈是空的,EventLoop才会从调用栈中取)

执行顺序与JavaScript一样,AkrTs也存在宏任务(Macrotask)队列和 微任务(Microtask)队列。宏任务例如setTimeout、setInterval,微任务例如普通回调函数,Promise相关函数等。

其执行顺序为:

  • 从 宏任务 队列中出队并执行最早的任务(只执行一个);
  • 执行所有微任务当微任务队列非空时:出队(dequeue)并执行最早的微任务;
  • 继续检查微任务队列空不空(即执行完所有的微任务,新创建的微任务会立即进入微任务队列排队执行,不需要等待下一次轮回);
  • 如果有变更,则将变更渲染出来;
  • 如果宏任务队列为空,则休眠直到出现宏任务;转到步骤 1。

举例

setTimeout(() => hilog.debug(0, TAG, “timeout”));​
new Promise<void>((resolve, reject) => {hilog.debug(0, TAG, “resolve”);resolve();}).
then(() => hilog.debug(0, TAG, “promise”));​
hilog.debug(0, TAG, “code”);

执行顺序:
resolve最先显示,因为Promise内的代码也是同步执行;
code 接着显示,因为它是常规的同步调用;
promise 第二个出现,因为 then 会通过微任务队列,并在当前代码之后执行;
timeout 最后显示,因为它是一个宏任务。

2、HarmonyOS 上传 app 文件, 提示 996 错误?

media下缺少资源图标

3、HarmonyOS Web管理Cookie和数据存储demo(Cookie管理/缓存Cache存储管理/Dom Storage)?

关于管理Cookie及数据存储,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-cookie-and-data-storage-mgmt-V5

4、HarmonyOS 应用名称如何自定义配置?

想根据不同编译环境配置不同的参数,例如:开发包、提测包、正式包,根据这三个环境设置不同的app名称。

entry模块下的module.json5 是模块级,
项目下的build-profile.json5是项目(应用)级。
打APP包后的hap的module.json中app下的label是你在products中指定的label,module\abilities下的label为模块级module.json5 是的配置。同时, 项目下的build-profile.json5的资源文件应该定义在AppScope文件夹下的resources下的资源文件中。

5、ActionSheetOptions 能支持不配置标题,只配置选择项吗?并且支持配置选项的样式吗?

title 传一个空字符串就可以没有标题,只有描述和选项。 选择项的样式不支持自定义,如果要自定义样式,建议使用自定义弹窗 customDialog


http://www.ppmy.cn/server/153812.html

相关文章

【Android Studio】创建新项目遇到的一些问题

1.Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. 这个问题的原因是我在使用 distributionUrlhttps\://services.gradle.org/distributions/gradle-7.0.2-bin.zip出现的&#xff0c;表示项目正在使用已弃用的 Gradle 功能&am…

运维相关知识科普

运维相关知识科普参考文章 一、运维究竟是什么 在当今数字化蓬勃发展的浪潮下&#xff0c;运维作为保障各类线上服务及产品顺畅运行的关键力量&#xff0c;其重要性不言而喻。运维&#xff0c;简言之&#xff0c;就是运用一系列专业的步骤与方法&#xff0c;对线上服务和产品…

视频汇聚融合云平台Liveweb一站式解决视频资源管理痛点

随着5G技术的广泛应用&#xff0c;各领域都在通信技术加持下通过海量终端设备收集了大量视频、图像等物联网数据&#xff0c;并通过人工智能、大数据、视频监控等技术方式来让我们的世界更安全、更高效。然而&#xff0c;随着数字化建设和生产经营管理活动的长期开展&#xff0…

网站使用站群服务器都有哪些好处?

站群服务器主要是通过集中的资源管理和高效的分布式架构&#xff0c;支持多个网站的稳定运行&#xff0c;是专门用于托管多个独立网站的服务器系统&#xff0c;站群服务器通常还拥有着大量的独立IP地址&#xff0c;可以分配给不同的网站。 当网站使用站群服务器时能带来哪些好处…

2024年12月大语言模型最新对比:GPT-4、Claude 3、文心一言等详细评测

前言 随着人工智能技术的快速发展&#xff0c;大语言模型(LLM)已经成为了技术领域最热门的话题。本文将详细对比目前主流的大语言模型&#xff0c;帮助大家选择最适合的工具。 一、OpenAI GPT系列 1. GPT-4 核心优势&#xff1a; 多模态理解能力强 逻辑推理能力出色 创造…

数据仓库和数据湖 数据仓库和数据库

数据仓库和数据湖是两种不同的数据存储解决方案&#xff0c;它们在设计、用途和数据管理方式上有着显著的区别。以下是数据仓库和数据湖的主要区别&#xff1a; 1. 数据结构&#xff1a;• 数据仓库&#xff1a;通常存储结构化数据&#xff0c;这些数据经过清洗、转换和加载&a…

理解神经网络

神经网络是一种模拟人类大脑工作方式的计算模型&#xff0c;是深度学习和机器学习领域的基础。 基本原理 神经网络的基本原理是模拟人脑神经系统的功能&#xff0c;通过多个节点&#xff08;也叫神经元&#xff09;的连接和计算&#xff0c;实现非线性模型的组合和输出。每个…

使用Python的Seaborn库进行数据可视化

使用Python的Seaborn库进行数据可视化 引言 在数据分析和机器学习领域&#xff0c;数据可视化是理解和解释数据的关键步骤之一。它帮助我们直观地探索数据模式、趋势和异常值&#xff0c;并且可以用来验证假设和辅助决策过程。Seaborn 是基于 matplotlib 构建的一个强大的 Py…