【每日学点鸿蒙知识】混淆配置、主线程处理大量数据、客户端拖拽效果、三方网站加载样式、List警告问题

server/2024/12/29 2:25:46/
1、HarmonyOS API升级之后缺少混淆配置文件?

可参考以下文档:
混淆配置:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-build-obfuscation-V5
混淆规则:https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README-cn.md

2、HarmonyOS 主线程处理大数据导致卡死?

请求server接口获取数据后,需要对数据进行解密处理,如果数据量很大(百公里级的坐标点),主线程解析数据会导致卡死崩溃。该如何正确处理?
this.dataProcessor.process(result) 是个耗时操作,数据量大的时候可能在5秒以上

TaskPool注意事项实现任务的函数需要使用装饰器@Concurrent标注,且仅支持在.ets文件中使用。
从API version 11开始,实现任务的函数需要使用类方法时,该类必须使用装饰器@Sendable标注,且仅支持在.ets文件中使用。
任务函数在TaskPool工作线程的执行耗时不能超过3分钟(不包含Promise和async/await异步调用的耗时,例如网络下载、文件读写等I/O任务的耗时),否则会被强制退出。
实现任务的函数入参需满足序列化支持的类型,详情请参见TaskPool和Worker支持的序列化类型。
ArrayBuffer参数在TaskPool中默认转移,需要设置转移列表的话可通过接口setTransferList()设置。
由于不同线程中上下文对象是不同的,因此TaskPool工作线程只能使用线程安全的库,例如UI相关的非线程安全库不能使用,具体请见多线程安全注意事项。
序列化传输的数据量大小限制为16MB。请确认下是否按照要求使用TaskPool:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/taskpool-introduction-V5#taskpool%E8%BF%90%E4%BD%9C%E6%9C%BA%E5%88%B6
在这里插入图片描述

3、HarmonyOS 客户端拖拽效果如何实现?

录屏的拖拽效果可以参考Grid组件的此示例实现
参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-grid-V5

4、HarmonyOS 加载三方网站,部分网站展示的是PC版?

请获取系统ua,使用getUserAgent,然后再覆盖setCustomUserAgent,这样就可以,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#getuseragent

5、HarmonyOS 使用List的警告:You are advised to initialize the width and height attributes of the List component.?
List(){ForEach(this.middleList,(data:MineItem)=>{ListItem(){Row(){Image($r(data.icon)).width(20)Text(data.title).fontSize('15').fontColor('#000000').margin({left:15})Blank()Image($r('app.media.mine_enter')).width(10)}.width('100%').height(50)}})
}
.padding({left:15,right:15})
.width('100%')
.margin({ top:15 })
.backgroundColor('#ffffff')
.borderRadius(10)

这个警告不影响的实际的使用的,如果没有初始化高度List组件会自适应高度,但是这会导致在某些情况下显示不全的情况,可以设置一下layoutWeight属性(需要父组件设置固定高度)这样List组件就可以和兄弟组件按权重分配父组件尺寸


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

相关文章

【ANGULAR网站开发】初始环境搭建

1. 初始化angular项目 1.1 创建angular项目 需要安装npm和nodejs,这边不在重新安装 直接安装最新版本的angular npm install -g angular/cli安装指定大版本的angular npm install -g angular/cli181.2 启动angular 使用idea启动 控制台启动 ng serve启动成功…

计算机网络习题(第5章 网络层 第6章 传输层)

第5章 网络层 一、单选题 1、下列关于 IPv4 地址的说法中,错误的是( )。 A、 IP 地址是逻辑地址 B、 IP 地址一般用点分十进制表示 C、 205.106.286.36 是一个合法的 IP 地址 D、 同一个网络中不能有两台计算机的 IP 地址相同 正确答案: C 2、…

JavaScript(三):数组

目录 创建数组 访问数组元素 修改数组元素 数组的常用方法 创建数组 创建数组可以直接使用字面量语法创建,例如: let arr [1, 2, 3, 4, 5]; 使用方括号将元素写在其中,用逗号分隔 也可以使用new Array()创建 let arr new Array(5); …

PL/SQL语言的并发编程

标题:深入探讨PL/SQL语言中的并发编程 一、引言 在数据库应用程序开发中,多用户同时访问和操作数据的情况非常常见,这就要求数据库系统具备处理并发操作的能力。而Oracle数据库的PL/SQL语言,以其强大的并发处理能力,…

使用FreeNAS软件部署ISCSI的SAN架构存储(IP-SAN)练习题

一,实验用到工具分别为: VMware虚拟机,安装教程:VMware Workstation Pro 17 安装图文教程 FreeNAS系统,安装教程:FreeNAS-11.2-U4.1安装教程2024(图文教程) 二,新建虚…

git 设置.gitignore文件屏蔽文件夹,但远程仓库文件夹未删除

git 设置.gitignore文件屏蔽文件夹,但远程仓库文件夹未删除 项目场景:问题描述 原因分析:解决方案:1、执行git rm清除暂存区的特定文件或文件夹2、提交并编辑分支提交注释3、提交完成后向远程推送代码4、检查被屏蔽文件&#xff0…

《战神:诸神黄昏》游戏运行时提示找不到emp.dll怎么办?emp.dll丢失如何修复?

《战神:诸神黄昏》游戏运行时提示找不到emp.dll怎么办?emp.dll丢失的修复方法 在畅游《战神:诸神黄昏》这款史诗级游戏的过程中,如果突然遭遇“找不到emp.dll”的错误提示,无疑会打断你的冒险之旅。作为一名深耕软件开…

Java设计模式 —— 【结构型模式】外观模式详解

文章目录 概述结构案例实现优缺点 概述 外观模式又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这…