【每日学点鸿蒙知识】混淆配置、主线程处理大量数据、客户端拖拽效果、三方网站加载样式、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组件就可以和兄弟组件按权重分配父组件尺寸

相关推荐
酣大智4 小时前
华为通用路由平台VRP
网络·华为
前端不太难4 小时前
HarmonyOS 游戏卡顿,问题不在渲染
华为·状态模式·harmonyos
讯方洋哥4 小时前
HarmonyOS App开发——一多图片浏览器应用App开发
华为·harmonyos
Miguo94well13 小时前
Flutter框架跨平台鸿蒙开发——海龟汤APP的开发流程
flutter·华为·harmonyos·鸿蒙
讯方洋哥14 小时前
HarmonyOS App开发——购物商城应用App开发
harmonyos
无穷小亮14 小时前
Flutter框架跨平台鸿蒙开发——Excel函数教程APP的开发流程
flutter·华为·excel·harmonyos·鸿蒙
无穷小亮14 小时前
Flutter框架跨平台鸿蒙开发——打字练习APP开发流程
flutter·华为·harmonyos·鸿蒙
九 龙15 小时前
Flutter框架跨平台鸿蒙开发——水电缴费提醒APP的开发流程
flutter·华为·harmonyos·鸿蒙
摘星编程17 小时前
React Native鸿蒙版:StackNavigation页面返回拦截
react native·react.js·harmonyos
BlackWolfSky17 小时前
鸿蒙中级课程笔记4—应用程序框架进阶1—Stage模型应用组成结构、UIAbility启动模式、启动应用内UIAbility
笔记·华为·harmonyos