【背景】
目前,OpenHarmony/HarmonyOS Next的主要UI开源三方库,如lottie,imageknife,pulltorefresh都是使用arkts自定义组件开发的。但越来越多应用除了功能对功能的要求外,现在也开始提出性能的要求。所以被迫得提前研究下使用NDK接口构建开源三方库。
ArkUI开发框架提供了一系列NDK接口,能够在应用中使用C和C++代码构建UI界面,这些接口包括UI组件创建、UI树操作、属性设置和事件监听等。在OpenHarmony 5.0文档中,我找到了如何使用NDK接入ArkTS页面,如何使用NDK构建自定义组件。 通过参考上述文档,我大概了解了如何在ArkTS页面嵌入一个NDK接口实现的自定义组件,并嵌入了一个系统Image组件。
具体效果如下,可以看到使用ndk可以实现与arkTS库一样的Image系统组件,加载网络图片:
【核心代码解读】
1.使用NDK自定义组件,内部嵌入一个Image组件(类型为ARKUI_NODE_IMAGE),并提供设置url的方法:
2. #includ