精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

觸覺智能RK3568使用體驗—NAPI 類對象導出及其生命周期管理(上)

系統 OpenHarmony
Node.js Node-API為開發者提供了一套C/C++ API用于開發Node.js的Native擴展模塊。從Node.js 8.0.0開始,Node-API以實驗性特性作為Node.js本身的一部分被引入,并且從Node.js 10.0.0開始正式全面支持Node-API。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

寫在開頭:

OpenHarmony 中的 N-API組件定義了由ArkTS (JS/ETS)語言編寫的代碼和 native 代碼(使用 C/C++ 編寫)交互的方式,由 Node.js Node-API 框架擴展而來。

什么是Node.js Node-API 框架

Node.js Node-API為開發者提供了一套C/C++ API用于開發Node.js的Native擴展模塊。從Node.js 8.0.0開始,Node-API以實驗性特性作為Node.js本身的一部分被引入,并且從Node.js 10.0.0開始正式全面支持Node-API。

本文以OpenHarmony 3.2beta3源碼中的node.js三方庫為例,從third_party/node/README.OpenSource中可得知3.2beta3移植的node版本為14.19.1,因此可參考的Node.js N-API鏈接為14.19.1版本,如下:https://nodejs.org/docs/latest-v14.x/api/n-api.html。

接口名方面,OpenHarmony 中的 N-API 組件提供的接口名與三方庫Node.js一致,目前支持部分接口,詳情見??libnapi.ndk.json??文件。

本篇是該系列文章的第5篇上半部分。有離北況歸的地方就一定會有樣例源碼,本文提供了一個IDE開發的NAPI工程用來學習本篇知識點,下半部分將對源碼進行解析。通過本文您將熟悉:

  • NAPI 導出類對象
  • NAPI 對象生命周期管理

1、NAPI 類對象導出

OpenHarmony NAPI提供了一種“包裝”C ++類和實例的方法,以便JS應用可以調用類的構造函數和方法。

Node.js Node-API中關于導出類對象的內容,參考鏈接 : https://nodejs.org/docs/latest-v14.x/api/n-api.html#n_api_object_wrap

(1)NAPI導出類對象流程

通過napi_define_class定義一個JS類。

  • 它包含了與 C++ 類對應的構造函數、靜態屬性、方法、實例屬性和方法。

通過napi_wrap將 C++ 實例綁定在 JS對象中。

  • 當 JS代碼調用構造函數時,構造函數回調會使用napi_wrap將一個新的 C++ 實例綁定在 JS對象中,然后返回綁定的C++ 實例。

通過napi_unwrap獲取作為調用目標的C++ 實例。

  • 當 JS調用C++ 類 的方法或屬性時,會調用相應的napi_callback C++ 函數。對于實例回調,napi_unwrap獲取作為調用目標的 C++ 實例 。

這里的napi_callback C++ 函數是指被 Node.js Node-API調用的C++ 函數。


[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

2、NAPI 對象生命周期

程序的生命周期是指程序從啟動,運行到結束的整個過程。

NAPI 對象的生命周期代表著從對象創建到釋放的整個過程,如下圖所示:

在ArkTS應用啟動時會加載NAPI模塊,而在NAPI模塊加載過程中會創建一個對象A提供給應用使用,在應用退出或者主動釋放A對象前,A對象必須一直保持"活躍"狀態。從A對象創建到釋放的整個過程也代表著A對象的生命周期。

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

以下是Node-API 中關于對象生命周期的解釋:

當調用Node-API時,底層虛擬機在堆中對象的句柄可能以napi_values的形式返回。這些句柄必須保持對象“活動”,直到本地代碼不再需要它們。參考鏈接:https://nodejs.org/docs/latest-v14.x/api/n-api.html#n_api_object_lifetime_management

句柄是一個標識符,是用來標識對象的。

NAPI 環境生命周期API的內容參考鏈接如下:https://nodejs.org/docs/latest-v14.x/api/n-api.html#n_api_environment_life_cycle_apis

3、關于本文提供的樣例工程

本文提供了一個IDE開發的NAPI工程用來學習NAPI 類對象導出和對象生命周期管理。

筆者運行環境:

  • 觸覺智能 IDO-EVB3568-V1 開發板
  • OpenHarmony 3.2Beta2
  • DevEco Studio 3.1.0.100

(1)觸覺智能 IDO-EVB3568-V1 開發板

觸覺智能的這個rk3568開發板是筆者去年8月份網上沖浪購買的,4GB+32GB開發板 + 一塊10.1英寸的MIPI屏幕 + 電源適配器 + usb調試器(搞開源鴻蒙用不上) 一共 739米 。筆者認為是性價比無敵的開源鴻蒙標準系統開發板。

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

觸覺智能一直在給 IDO-EVB3568-V1 開發板適配最新的OpenHarmony版本。例如2月1號發布Beta5,作為消費者的筆者立馬收到了適配了IDO-EVB3568-V1的Beta5鏡像包,有MIPI版本的和HDMI版本。購買后的體驗是非常不錯的。購買鏈接如下:https://item.taobao.com/item.htm?spm=4645b.1.14.1.5c4a4a7dv1soeZ&id=658789039056&ns=1&abbucket=5#detail。

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

(2)樣例工程運行

1、樣例安裝運行后,觸覺智能 IDO-EVB3568-V1開發板顯示如下:

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

以下圖片通過OpenHarmony預置的屏幕截圖功能獲取。截圖文件放在下面這四個文件夾下:

/data/service/el2/100/hmdfs/account/files/Pictures/Screenshots/

/storage/media/100/local/files/Pictures/Screenshots/

/mnt/hmdfs/100/account/device_view/local/files/Pictures/Screenshots/

/mnt/hmdfs/100/account/merge_view/files/Pictures/Screenshots/

然后通過hdc工具導出到PC端。

2、再點擊中間的"導出對象"后,PC端DevEco Studio工具的Log窗口查看到對應的調試信息。

系統的調試信息也在Hilog窗口顯示,且信息量大,不方便查看自己的調試信息,可以在log窗口設置過濾信息,讓窗口只顯示我們過濾關鍵字NapiTest的信息。

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

調試信息如下:

08-05 11:09:03.413 1802-1802/com.example.objectwraptest I A0fefe/JsApp: 
[NapiTest] Test NAPI 2 + 3 = 5
08-05 11:09:03.414 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI add(2, 3) 1
08-05 11:09:03.414 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI add(2, 3) 2
08-05 11:09:03.415 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI add(2, 3) 3
08-05 11:09:03.415 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest]Test NAPI 2+3 = 5
08-05 11:09:52.123 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI 2 + 3 = 5
08-05 11:09:52.123 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI add(0, 0) 1
08-05 11:09:52.123 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI add(0, 0) 2
08-05 11:09:52.124 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest] Test NAPI add(0, 0) 3
08-05 11:09:52.124 1802-1802/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest]Test NAPI 4+5 = 0

3、再在index.ets中取消下面這四行代碼的注釋。

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

Hilog窗口打印調試信息如下:

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

08-05 09:03:38.156 1911-1911/com.example.objectwraptest I A0fefe/JsApp: 
[NapiTest] Test NAPI 2 + 3 = 5
08-05 09:03:38.157 1911-1911/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest]Test NAPI error{}
08-05 09:03:38.157 1911-1911/com.example.objectwraptest I A0fefe/JsApp:
[NapiTest]Test NAPI hello NapiTest = undefined

以上HiLog窗口打印信息中的com.example.objectwraptest是樣例工程的包名,在樣例應用工程AppScope\app.json5文件中定義。AppScope\app.json5中還可以定義樣例應用hap的其他屬性。

entry\src\main\module.json5中startWindowBackground字段可以查看應用開啟時過渡動畫的顏色,但是在指向的同級目錄下具體的文件中設置。

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

在樣例應用工程entry\src\main\resources\base\element\string.json中可以查看 應用名稱

樣例圖標修改entry\src\main\resources\base\media\icon.png,大小是114*114像素

知識點附送

OpenHarmony截屏命令:

# 進入sdk\版本號\toolchain輸入cmd打開命令行
hdc_std shell
snapshot_display
# 截圖默認保存在/data/目錄下
exit
hdc_std file recv OpenHarmony設備端截圖文件路徑 PC端路徑

[觸覺智能RK3568使用體驗]NAPI 類對象導出及其生命周期管理(上)-開源基礎軟件社區

文章相關附件可以點擊下面的原文鏈接前往下載

 https://ost.51cto.com/resource/2513

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-03-16 15:29:57

鴻蒙工具

2023-03-13 15:18:04

NDK工具

2023-03-16 15:37:48

像素密度觸覺智能

2023-03-03 21:36:02

鴻蒙操作系統

2013-08-19 17:03:00

.Net生命周期對象

2022-04-25 09:10:50

RK3568鴻蒙

2021-07-19 05:52:29

網絡生命周期網絡框架

2012-06-20 10:29:16

敏捷開發

2023-03-07 15:54:45

鴻蒙Mesa庫

2009-06-17 15:06:50

Hibernate實體

2023-12-18 08:24:56

ViewModel數據操作Android

2012-04-28 13:23:12

Java生命周期

2013-07-29 05:11:38

iOS開發iOS開發學習類的'生命周期'

2023-05-05 16:32:50

SveltosKubernetes集群

2015-07-08 16:28:23

weak生命周期

2019-03-25 11:25:40

聯想

2022-02-17 08:02:45

對象存儲RGW

2022-06-01 09:25:16

嵌套生命周期智能技術工業資產

2023-04-19 07:50:59

?云原生生命周期管理

2010-12-03 12:22:02

局域網文檔文檔安全數據保護
點贊
收藏

51CTO技術棧公眾號

精品国产av无码一区二区三区| 久久久噜噜噜久久久| 亚洲狼人综合干| 日韩在线观看www| 国产精品自产自拍| 91精品国产乱码久久久久久久久| 男人天堂av电影| 亚洲欧洲二区| 精品久久久久久久久久| 亚洲综合欧美日韩| 日本wwwxxxx| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美乱妇40p| 亚洲区自拍偷拍| 盗摄牛牛av影视一区二区| 色婷婷精品久久二区二区蜜臂av| 91xxx视频| 女人偷人在线视频| 国产成人在线免费| 国产精品精品久久久| 久久国产精品波多野结衣| 狠狠做深爱婷婷综合一区| 日韩欧美中文一区| 免费看黄色一级大片| 金瓶狂野欧美性猛交xxxx| 国产精品天天看| 国产一区二区不卡视频在线观看 | 污污视频在线观看网站| 免费看黄色91| 欧美中文字幕第一页| 久久久久久久久久久久久久久久久 | 97se亚洲综合| 一级特黄色大片| 天堂一区二区在线| 91大神在线播放精品| 九九热精品免费视频| 欧美疯狂party性派对| 亚洲欧美另类中文字幕| 黄色在线免费播放| 亚洲天堂av资源在线观看| 正在播放一区二区| 亚洲精品自拍网| 日韩国产网站| 色婷婷香蕉在线一区二区| 欧美三级在线观看视频| 日韩三级免费| 亚洲一区二区三区影院| 成人短视频在线观看免费| av免费在线免费| 亚洲美女免费视频| 无码人妻精品一区二区三区99v| 91美女视频在线| 亚洲国产精品成人综合色在线婷婷 | 91theporn国产在线观看| 久久这里有精品15一区二区三区| 欧美在线欧美在线| 麻豆精品久久久久久久99蜜桃| 亚洲深爱激情| 青青久久av北条麻妃黑人| 国产精品一区二区三区四| 亚洲免费大片| 日本精品免费一区二区三区| 国产成人精品网| 午夜亚洲视频| 国产激情视频一区| 最近中文字幕av| 久久国产夜色精品鲁鲁99| 成人国产在线激情| 精品人妻无码一区二区| 成人午夜大片免费观看| 久久国产精品一区二区三区| 牛牛热在线视频| 国产日产精品1区| 亚洲高清乱码| 超碰porn在线| 亚洲综合男人的天堂| 人体内射精一区二区三区| 国产中文在线播放| 在线亚洲一区二区| 久久久精品视频国产| 红杏aⅴ成人免费视频| 亚洲精品少妇网址| 亚洲欧美另类日本| 国色天香一区二区| 国产精品27p| 艳妇乳肉豪妇荡乳av| 国产福利一区在线观看| 久久久久久欧美精品色一二三四| www.91在线| 亚洲伊人色欲综合网| 欧美成人免费高清视频| 亚洲精品伦理| 亚洲精品福利在线| 在线观看免费黄色网址| 黄色另类av| 国产精品男人的天堂| 国产黄色高清视频| 国产亚洲一区二区在线观看| 日韩一级特黄毛片| 黄色在线观看www| 欧美美女一区二区三区| 日韩aaaaa| 91精品国产91久久久久久密臀 | 成人免费看片98欧美| 六月婷婷色综合| 精品国产一区二区三区四区精华 | 99精品在线视频观看| 99精品国产99久久久久久白柏 | 三上悠亚ssⅰn939无码播放| 一区二区日韩欧美| 国产成人在线精品| 男人天堂手机在线观看| 国产精品传媒在线| 久久久噜噜噜www成人网| 日韩精品一区国产| 中文字幕亚洲一区在线观看| 日韩毛片在线播放| 国产久卡久卡久卡久卡视频精品| 日韩一区二区电影在线观看| sqte在线播放| 日韩欧美激情一区| 欧美视频一区二区在线| 欧美亚洲免费| 精品国产免费久久久久久尖叫| 在线中文字幕第一页| 欧美人伦禁忌dvd放荡欲情| 91精品人妻一区二区三区蜜桃欧美| 欧美a级在线| 91老司机在线| 2017亚洲天堂1024| 欧美私人免费视频| 在线免费观看麻豆| 欧美一级久久| 久久99精品久久久久久秒播放器| 欧美1234区| 日韩一二三区不卡| 日本少妇高清视频| 国产综合色产在线精品| 自拍偷拍视频在线| 激情亚洲小说| 日韩中文字幕在线精品| 中文天堂在线视频| 欧美国产综合色视频| 毛葺葺老太做受视频| 久久91精品| 国产成人精品日本亚洲专区61| 日韩私人影院| 日韩欧美在线视频| 国产三级av在线播放| 丝袜a∨在线一区二区三区不卡| 久久久精品动漫| 国产精欧美一区二区三区蓝颜男同| 日韩久久午夜影院| 中文字幕第四页| 久久精品无码一区二区三区| 青青草原av在线播放| 国产欧美日韩| 国产精品嫩草影院久久久| 成人精品福利| 欧美日韩中字一区| 国产精品丝袜一区二区| 国产精品综合av一区二区国产馆| 日本丰满大乳奶| 亚洲精品a区| 91精品国产高清久久久久久久久 | 中文无字幕一区二区三区| 邪恶网站在线观看| 9191国语精品高清在线| 99国产高清| 僵尸再翻生在线观看| 亚洲精品日韩欧美| 中文字幕一区二区三区人妻四季 | 久久网这里都是精品| 日韩av播放器| 99久久综合| 国产精品免费一区二区三区| 亚洲天堂资源| 日韩日本欧美亚洲| 亚洲精品一区二区三区新线路| 午夜国产不卡在线观看视频| av电影在线不卡| 国产综合成人久久大片91| 日韩中文字幕在线视频观看| 成人激情开心网| 99re在线观看视频| 精品国产第一福利网站| 久久视频国产精品免费视频在线| 成人免费观看在线视频| 91黄色激情网站| 欧美日韩三级在线观看| 久久久久久久久久久久久女国产乱 | 亚洲一卡二卡| 成人在线视频你懂的| 国产99视频在线观看| h视频在线免费观看| 日韩精品在线视频观看| 国产麻豆免费视频| 色综合天天在线| 久草视频免费播放| 国产精品无遮挡| 朝桐光av一区二区三区| 激情六月婷婷综合| 欧美在线观看视频网站| 亚洲高清不卡| 天堂av免费看| 欧美日韩中字| 久久久久久a亚洲欧洲aⅴ| 国产精品免费精品自在线观看| 秋霞av国产精品一区| 日本孕妇大胆孕交无码| 日韩亚洲欧美中文在线| 男同在线观看| 欧美精品一区二区三区蜜桃视频| 一级爱爱免费视频| 91福利区一区二区三区| 久久精品久久国产| 亚洲女人的天堂| 国产jizz18女人高潮| 26uuu另类欧美| 国产伦精品一区三区精东| 久久超级碰视频| 超碰在线97免费| 欧美亚洲视频| 男人日女人bb视频| 一区二区自拍| 欧美 日韩 国产精品| 98精品久久久久久久| 四虎一区二区| 精品在线手机视频| 久久综合久久久| 老司机精品视频在线播放| 官网99热精品| 91亚洲精品视频在线观看| 91色视频在线导航| 亚洲精品大片| 91香蕉亚洲精品| 一级欧美视频| 国产一区二区在线免费| 欧美黄色网络| 国产视频观看一区| 日韩欧国产精品一区综合无码| 国产精品一区专区欧美日韩| 亚洲欧美在线成人| 国产精品久久久久久av下载红粉| 欧美人与性动交xxⅹxx| 日本欧美中文字幕| 色综合一本到久久亚洲91| 国产91在线播放九色快色| 成人片免费看| 国产精品999999| 欧美大片网站| 91免费电影网站| 日韩黄色av| 国产精品大全| 亚洲涩涩av| 日本一区视频在线观看免费| 欧美日韩一区二区三区视频播放| 亚洲春色在线视频| 亚洲精品国产成人影院| 日本一级淫片演员| 亚洲精品影视| 国产真人无码作爱视频免费| 蜜桃精品在线观看| 性色av浪潮av| 99精品视频在线观看| 免费在线观看成年人视频| 久久综合一区二区| 天堂av网手机版| 伊人夜夜躁av伊人久久| 日本视频免费在线| 91国产成人在线| 国产精品欧美综合亚洲| 精品国产乱码久久久久久久久| 天堂√在线中文官网在线| 国产亚洲精品久久久久久| 欧美jizz18hd性欧美| 欧美福利小视频| 秋霞伦理一区| 国产精品一区av| av自拍一区| 欧美一区二区三区四区五区六区| 欧美激情电影| 91专区在线观看| 久久爱www久久做| xxxx黄色片| 中文字幕在线一区| 青青操免费在线视频| 欧美色视频在线| 黄色av小说在线观看| 亚洲色图综合网| 手机在线免费看av| 国产精品久久久999| 久久99精品久久久野外观看| 欧美一级爽aaaaa大片| 在线精品小视频| 国产又大又黄又粗的视频| 盗摄精品av一区二区三区| 色欲狠狠躁天天躁无码中文字幕 | 色综合男人天堂| 成人在线视频免费| 国产午夜精品在线| 国产精品7m凸凹视频分类| 国产男女在线观看| 国产精品69毛片高清亚洲| 欧美另类z0zx974| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美剧情电影在线观看完整版免费励志电影 | 亚洲男人天堂视频| 青草视频在线免费直播| 国产精品视频资源| 人人精品视频| 国产爆乳无码一区二区麻豆| 免播放器亚洲一区| 欧美做受喷浆在线观看| 亚洲综合免费观看高清完整版在线 | 亚洲wwww| 久久久久se| 亚洲人人精品| 少妇献身老头系列| 亚洲视频小说图片| 伊人色综合久久久| 亚洲欧洲中文天堂| 女厕盗摄一区二区三区| av资源站久久亚洲| 欧美99久久| 欧美国产日韩在线视频| 国产精品区一区二区三| 日韩中文字幕高清| 亚洲香蕉成视频在线观看| 亚洲美女炮图| 好吊色欧美一区二区三区| 国内久久精品| 国产69视频在线观看| 亚洲精品久久嫩草网站秘色| 一区二区三区黄色片| 中文字幕在线精品| 成人啊v在线| 青青成人在线| 日本中文字幕一区二区有限公司| 国产黄片一区二区三区| 日韩欧美高清在线视频| 青青色在线视频| 日本精品久久久| 欧美男gay| 91蝌蚪视频在线观看| 国产日韩精品一区| 中文字幕日韩经典| 中文字幕亚洲一区二区三区五十路| 狠狠久久伊人中文字幕| 正在播放一区| 国产乱码精品一区二区三| 夫妻性生活毛片| 日韩欧美国产一区二区三区| 女子免费在线观看视频www| 国产激情美女久久久久久吹潮| 韩国av一区| 91视频啊啊啊| 在线免费不卡电影| 日本中文字幕伦在线观看| 亚洲aⅴ日韩av电影在线观看| 一精品久久久| 污污免费在线观看| 一本一道综合狠狠老| 999在线视频| 成人av蜜桃| 亚洲专区免费| 香蕉成人在线视频| 日韩欧美中文字幕制服| 超碰成人av| 日本在线观看一区二区| 精一区二区三区| 国产一级二级三级视频| 亚洲女同性videos| 精品亚洲a∨| 99国产精品白浆在线观看免费| 91首页免费视频| 在线观看国产小视频| 九色精品美女在线| 亚洲图片久久| 九九九九九九九九| 精品久久久久久电影| 日本三级视频在线观看| 国产v亚洲v天堂无码| 日韩精品视频网站| 免费在线观看国产精品| 亚洲色图美腿丝袜| 日韩高清在线观看一区二区| 北条麻妃在线一区| 亚洲伦在线观看| 黄色在线小视频| 91久久国产自产拍夜夜嗨| 国产精品日韩精品欧美精品| 国产精品久久久免费看| 亚洲精选中文字幕| 国产95亚洲| 国产一级片黄色| 亚洲午夜久久久| 秋霞成人影院| 欧美xxxx黑人又粗又长密月| 国产美女精品在线|