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

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运作机制

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组件就可以和兄弟组件按权重分配父组件尺寸

相关推荐
马剑威(威哥爱编程)9 小时前
【共创稿事节】HarmonyOS 7 Agent 开发实战 11:并发多会话隔离
华为·harmonyos
行者-全栈开发12 小时前
【共创稿事节】HarmonyOS 7 空间音频实战:用 AudioSpatializationManager 构建“听得见方位“的声场
harmonyos·arkts·鸿蒙·空间音频·api 26·audio kit
马剑威(威哥爱编程)13 小时前
【共创稿事节】HarmonyOS 7 Agent 开发实战 03:Tool Calling 让 AI 查实时订单与库存
华为·harmonyos
倔强的石头10615 小时前
把 Typst 搬上开源鸿蒙 PC:一次“干净”的移植记录
华为·开源·harmonyos
梦想不只是梦与想17 小时前
鸿蒙 预览数据模拟:Hamock
harmonyos·模拟数据·hamock
贾伟康20 小时前
【化学实验室|04】HarmonyOS ArkTS 场景选择器实战:让 13 个离线实验的入口、筛选和返回路径保持一致
harmonyos·arkts·canvas·arkui·化学实验
特立独行的猫a20 小时前
仓颉语言GUI开发实战:用仓颉写串口/网络二合一调试助手
网络·ui·gui·harmonyos·tauri·仓颉
hqzing1 天前
把 glibc 移植到鸿蒙 PC 上:它能用来做什么
华为·harmonyos
OH_TPC1 天前
HarmonyOS APP开发---“习惯猫“习惯打卡App,需要用到这个库
华为·harmonyos·鸿蒙
熊猫钓鱼>_>2 天前
开源鸿蒙平台 KMP 三方库 kotlin-csv 适配全流程:从编码假设到沙箱真机互通验证
开发语言·人工智能·华为·kotlin·harmonyos·鸿蒙