首页 > 其他分享 >OpenHarmony 踩坑2

OpenHarmony 踩坑2

时间:2023-10-17 11:14:46浏览次数:32  
标签:OpenHarmony 缓存 BB% 需要 内存 使用 组件

接下来要记录的是代码层面的细节问题:

1、读取文件,每个文本文件不能超过 128k,直接会报:Stack overflow

 

2、读取的 json 文件不能为空,代码会停掉,最起码要有 []

 

3、加载动态图片,需要先将图片读入内存转成 base64,再使用 Image 组件进行渲染

 

4、鼠标上浮图片放大,会对其他元素有所遮挡,禁掉:

 

5、组态元素是自定义位置,需要使用定位来渲染:

 

6、显示隐藏使用的是  visibility 属性:

 

7、Button 组件中,只能插 text 或者 image 二选一

 

8、json 中如果存在中文,即使是 UTF-8 编码(带BOM),读到内存中一样会乱码,所以提前转好(encode)

 使用时再转回来:

 

9、缓存使用时注意数据类型,存取都需要对应好(不然存不上取不出)

 

10、缓存的 key 有长度限制,如果超长需要注意(使用 UNId 20位就差不多了,我们当时为了省事用的 encode 后的中文,后来把 key 加密缩短了)

 

11、缓存实际上是记录到文件中,存在 IO 性能,如果定时器更新数据快些,可能短时间内性能吃的多,程序就会挂掉,后来我们直接用的内存变量记录的

 

12、数据变动要想界面同步更新,需要使用 @State 标记变量(对象也行)

 

13、超出父组件裁剪(像 overflow 一样):

 

14、层叠问题注意处理 zIndex 属性

 

15、目前动态图片加载没实现 svg 类型,只能放在项目里初始化使用

 

16、ArkUI 没有 tabel ,三方插件库也没有找到好用 的列表显示组件,可能需要自己造轮子:

ArkUi 文档:https://www.arkui.club/chapter4/4_1_text.html#_4-1-2-text%E5%B1%9E%E6%80%A7%E4%BB%8B%E7%BB%8D

三方插件库:https://gitee.com/explore/topic/OpenHarmony%E7%BB%84%E4%BB%B6

 

17、代码不是很健壮,需要 try catch 来包裹下:

 

标签:OpenHarmony,缓存,BB%,需要,内存,使用,组件
From: https://www.cnblogs.com/guofan/p/17769159.html

相关文章

  • OpenHarmony创新赛丨报名倒计时,超强秘籍带你直通大奖!
    OpenHarmony创新赛丨报名倒计时,超强秘籍带你直通大奖!OpenHarmony创新赛报名倒计时开始啦!设于开放原子全球开源大赛下的OpenHarmony创新赛,目前正在如火如荼地进行赛事招募中!这次大赛围绕创新应用、商显行业、金融行业三大赛题,邀请来自企业、个人、高校师生等各界群体的优秀开发者们......
  • OpenHarmony创新赛|赋能直播第四期
    OpenHarmony创新赛|赋能直播第四期开放原子开源大赛OpenHarmony创新赛进入了中期评审环节,为了解决开发者痛点,本期以三方库移植、MQTT移植案例、开发工具介绍的3节系列技术课程,帮助开发者提升开发效率,为作品的创新能力奠定坚实基础。扫描下方长图二维码,了解赛事信息以及直播课程的更......
  • HarmonyOS/OpenHarmony原生应用开发-华为Serverless服务支持情况(四)
    文档中的TS作者认为就是ArkTS之意。一、云存储AppGalleryConnect(简称AGC)云存储是一种可伸缩、免维护的云端存储服务,可用于存储图片、音频、视频或其他由用户生成的内容。借助云存储服务,您可以无需关心存储服务器的开发、部署、运维、扩容等事务,大大降低了应用使用存储的门槛,让您可......
  • HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Radio
    单选框,提供相应的用户交互选择项。该组件从APIVersion8开始支持。无子组件。一、接口Radio(options:{value:string,group:string})从APIversion9开始,该接口支持在ArkTS卡片中使用。参数:二、属性除支持通用属性外,还支持以下属性:三、事件除支持通用事件外,还支持以下事件:四、......
  • OpenHarmony社区运营报告(2023年9月)
     ●9月12日,由宁夏回族自治区教育厅、OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群工作委员会指导,北京新大陆时代科技有限公司主办,宁夏职业技术学院、OpenHarmony教育工作组协办的开源生态创新人才培养论坛在全国职业院校技能大赛赛场宁夏职业技术学院成功举办。 ●......
  • OpenHarmony-systemui项目工程无法编译的解决办法
    在探索OpenHarmony3.2Release的过程中,我希望通过修改系统软件来使系统更符合HarmonyOS特性,但是在尝试编译systemui时,遇到了这个问题:hvigorERROR:'entryModules'mustbeconfiguredforafeaturemodule.Detail:Set'entryModules'inthebuild-profile.json5f......
  • HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Toggle
    组件提供勾选框样式、状态按钮样式及开关样式。该组件从APIVersion8开始支持。仅当ToggleType为Button时可包含子组件。一、接口Toggle(options:{type:ToggleType,isOn?:boolean})从APIversion9开始,该接口支持在ArkTS卡片中使用。参数:ToggleType枚举说明从APIversion9......
  • HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Stack
    堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。该组件从APIVersion7开始支持。可以包含子组件。一、接口Stack(value?:{alignContent?:Alignment})从APIversion9开始,该接口支持在ArkTS卡片中使用。二、属性除支持通用属性外,还支持以下属性:三、示例//xxx.e......
  • 【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器
    【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器@State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。在状态变量相关装饰器中,@State是最基础的,使变量拥有状态属性的装饰器,它也是大部分状态......
  • 【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器
    【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器@State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。在状态变量相关装饰器中,@State是最基础的,使变量拥有状态属性的装饰器,它也是大部分状态......