当前位置: 首页 > article >正文

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

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.kler.cn/a/453896.html

相关文章:

  • 双指针——查找总价格为目标值的两个商品
  • 一键图片转3D模型,AI建模,一键把图片转三维模型,二维图片转3维模型,AI建模
  • NTLM 中继到 LDAP 结合 CVE-2019-1040 接管全域
  • 如何通过采购管理系统实现智能化采购?
  • 百度千帆平台构建AI APP的基础概念梳理
  • 海格通信嵌入式面试题及参考答案
  • Leetcode 200 Number of Islands
  • c++最大公约数和最小公倍数的深入剖析
  • Oracle Database 23ai 中的DBMS_HCHECK
  • AWS Certified AI Practitioner 自学考试心得
  • 关于FPGA的IO三引脚形式
  • 【YOLO】(基础篇一)YOLO介绍
  • TiDB 的MPP架构概述
  • Python进阶之opencv图片和视频基本读取关闭
  • Java后端开发 ”Bug“ 分享——订单与优惠卷
  • 离心式压缩机设计的自动化方法
  • matlab中的cell
  • 【每日学点鸿蒙知识】类型判断、three.js支持情况、Grid拖动控制、子窗口路由跳转、真机无法断点
  • OpenHarmony 3.2 调用获取指定网络接口信息报错,DHCP报错:callback error 29189
  • 人工智能python快速入门
  • 初始化全部推断的寄存器、 SRL 和存储器
  • 两分钟掌握 TDengine 全部写入方式
  • 目录jangow-01-1.0.1靶机
  • Eclipse常用快捷键详解
  • 【3.1 以太网RDMA优化--网卡缓存资源维度】
  • Android--java实现手机亮度控制