【HarmonyOS NEXT】FAQ之ArkTS语言(ArkTS-4)

1、如何通过AOP统计方法执行时间

对于执行时间的统计,可以利用addBefore记录开始时间,用addAfter记录结束时间。

2、如何实现Sendable类型和JSON数据的转换

可以通过从API version 12开始支持的,ArkTS新增的ASON工具实现。

ASON支持开发者解析JSON字符串,并生成共享数据进行跨并发域传输,同时ASON也支持将共享数据转换成JSON字符串。

3、如何使用工具库对JSON进行解析与生成

从API version 12开始支持@ohos.util.json,能够实现将JSON文本转换为JSON对应对象或值,以及将对象转换为JSON字符串等功能。

4、A持有B,B引用A的场景会不会导致内存泄漏

方舟虚拟机的内存管理和GC采用的是根可达算法,根可达算法可以解决循环引用问题,不会导致A引用B,B引用A的内存泄漏。

5、如何通过key获取对象值

ArkTS中不支持通过索引访问字段,要使用索引的话可以考虑Record<key, value>。

6、如何查看编译的详细过程

在hvigor->hvigor-config.json5中"logging": { //"level": "info" }的注释取消 ,改为debug,改完后的结果为"logging": { "level": "debug" },在编译时就可以看到编译的详细过程。

7、如何判断对象的类型

在代码开发中,如果需要对对象的类型做判断,调用不同类的方法,可以使用instanceof进行判断来得知对象的类型。

8、混淆后的映射文件具体在哪个路径下
  1. obfuscation.txt:打包后放consumer-rules.txt的混淆规则的

    目录:build/default/intermediates/obfuscation/default/obfuscation.txt

  2. nameCache.json:名称映射表文件,该文件记录了源码名称混淆的映射关系

    目录:build/default/cache/default/default@CompileArkTS/esmodule/release/obfuscation/nameCache.json

  3. 混淆后的d.ets和js文件

    目录:build/default/intermediates/loader_out/default/...

  4. sourceMaps.json:是关联编译后的代码和源码的,通过一个个行列号的映射

    目录:build/default/cache/default/default@CompileArkTS/esmodule/release/sourceMaps.json

9、如何获取对象的所有方法

可以使用Object.getOwnPropertyNames获取所有方法的字符串数组,注意获取对象的原型prototype需要文件后缀为.ts的文件。

10、如何使用内置的js引擎?JIT支持策略如何?

使用内置的js引擎可以参考:JSVM,推荐使用自带JS引擎,不禁止使用三方引擎,但禁止三方引擎的JIT能力。

11、如何在ArkTS中使用闭包

ArkTS不支持在函数内声明函数,但可以改用lambda函数来代替内部函数声明。

12、是否支持通过动态import反射调用类的静态成员函数和实例成员函数?

目前支持通过动态import反射调用类的静态成员函数、实例成员函数以及全局方法。

13、动态import是异步的,同步和异步场景如何使用?

动态import为了能实现按需加载和延迟加载的功能,返回的是promise,用法参考promise。

1、同步环境用.then接口。

2、异步环境可以用await关键字。

更多详情查看:文档中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值