精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产色综合一区| 日韩欧美四区| 亚洲欧美日韩精品久久久久| 147欧美人体大胆444| 黄色一级免费视频| 蜜臀91精品国产高清在线观看| 欧美在线制服丝袜| 蜜臀av性久久久久蜜臀av| 偷拍精品一区二区三区| 蜜臀精品一区二区三区在线观看 | 亚洲一区二区美女| 欧美18视频| 国产肥老妇视频| 日韩精品1区2区3区| 精品少妇一区二区30p| 欧美色图亚洲激情| 一区二区三区视频免费视频观看网站 | 日韩精品影音先锋| 国产免费人做人爱午夜视频| a黄色片在线观看| 久久久久久一二三区| dy888夜精品国产专区| 中文字字幕在线中文乱码| 亚洲久久久久久| 欧洲毛片在线| 国产成人免费视频一区| 国产精品一区二区电影| 国产精品成人免费一区二区视频| 日韩1区2区| 日韩电影免费在线观看中文字幕| 99精品视频免费版的特色功能| 国产麻豆久久| 欧美日韩免费在线观看| 50度灰在线观看| av电影在线观看一区二区三区| 不卡一区在线观看| 91九色蝌蚪成人| 又骚又黄的视频| 免费久久99精品国产自在现线| 欧美激情精品久久久| 永久免费未视频| 精品日本12videosex| 国产丝袜一区二区三区| 50一60岁老妇女毛片| 亚洲一区二区三区日本久久九| 91精品欧美福利在线观看| 亚洲精品自拍网| 桃花岛成人影院| 在线视频国产区| 91欧美一区二区| 久99久在线| 图片区 小说区 区 亚洲五月| 国产传媒久久文化传媒| 51午夜精品| www.激情五月| 国产福利一区二区三区视频在线 | 99视频在线观看免费| 麻豆精品一区二区综合av| 国产精品久久久久久久app| 黄瓜视频在线免费观看| 男人的天堂成人在线| 欧洲亚洲女同hd| 懂色av蜜臀av粉嫩av分享吧最新章节| 肉丝袜脚交视频一区二区| 国产精品99免视看9| 国产一级精品毛片| 蜜桃视频一区二区三区在线观看| 国产美女精彩久久| 国产精品国产三级国产aⅴ| 国产最新精品精品你懂的| 69堂成人精品视频免费| 日本精品久久久久| 久久蜜桃一区二区| 色大师av一区二区三区| 国产在线观看a视频| 亚洲图片自拍偷拍| 日本成年人网址| 国产精品久久久久无码av色戒| 女囚岛在线观看| 一区二区不卡在线播放| www在线观看免费| 日本电影欧美片| 欧美老女人第四色| 91超薄肉色丝袜交足高跟凉鞋| 巨人精品**| 国产亚洲精品久久| 免费在线观看h片| 亚洲美洲欧洲综合国产一区| 国产精品999999| 国产欧美日韩成人| 99在线热播精品免费| 日韩偷拍一区二区| 性爱视频在线播放| 色综合天天综合网天天看片| 亚洲精品20p| 国产精品久久久久久久久久白浆| 国产香蕉97碰碰久久人人| 亚洲一级生活片| 性高湖久久久久久久久| 91影视免费在线观看| 五月婷婷六月色| 一区在线播放视频| 免费毛片小视频| 久久丁香四色| 一本一道久久a久久精品逆3p| 青青草原国产视频| 日韩激情中文字幕| 风间由美一区二区三区| av在线第一页| 欧美日韩国产激情| 午夜视频在线网站| 婷婷精品视频| 欧美激情综合色综合啪啪五月| 精品人妻一区二区三区免费看| 狠狠色丁香久久婷婷综合_中| 久久久久久精| 大黄网站在线观看| 在线不卡的av| 公肉吊粗大爽色翁浪妇视频| 亚洲人体偷拍| 91av免费看| av在线1区2区| 欧美午夜激情在线| 亚洲一区二区在线免费| 欧美激情性爽国产精品17p| 国产欧美一区二区| 无码国产精品一区二区免费式直播 | 国产精品爽爽爽爽爽爽在线观看| 韩国av在线免费观看| ●精品国产综合乱码久久久久| 50路60路老熟妇啪啪| 美国十次av导航亚洲入口| 欧美激情视频播放| www.狠狠干| 一区二区国产盗摄色噜噜| 亚洲精品免费一区亚洲精品免费精品一区| 欧美日韩中字| 国产精品久久久| www.亚洲资源| 欧美天堂亚洲电影院在线播放| 国产精品1000部啪视频| 国产视频欧美| 美脚丝袜一区二区三区在线观看| а√天堂中文资源在线bt| 精品国产一区二区三区av性色 | 免费看男男www网站入口在线| 天天操天天干天天综合网| 日本道中文字幕| 亚洲免费精品| 久久久久久久久一区| 成人性生活视频| 亚洲日本中文字幕| 天天综合久久综合| 欧美激情中文不卡| 污版视频在线观看| 99视频精品视频高清免费| 91精品国产综合久久男男| 韩国中文字幕在线| 精品国产一区二区亚洲人成毛片 | 黄色网在线免费观看| 555www色欧美视频| 日本aⅴ在线观看| 国产精品69久久久久水密桃| 国产传媒久久久| 国产图片一区| 日韩av日韩在线观看| 超碰免费在线| 欧美一级专区免费大片| 久久香蕉精品视频| 91免费版在线看| 国产三级国产精品国产专区50| 91久久国产| 国产精品久久久一本精品| 日韩国产欧美一区| 免费成人黄色网| 欧美另类高清videos| 五月婷婷六月丁香| 欧美少妇一区二区| 国产又黄又爽又无遮挡| 99re这里都是精品| 亚洲无吗一区二区三区| 中文精品久久| 久久久av水蜜桃| 欧美aaaaaaaa| 孩xxxx性bbbb欧美| 成人性爱视频在线观看| 欧美一区二区三区爱爱| 国产中文字幕视频| 亚洲欧美欧美一区二区三区| 精品人妻一区二区三区视频| 九九**精品视频免费播放| 久久99久久99精品| 日韩欧美视频专区| 精品国产综合久久| 日韩午夜视频在线| 欧美中文字幕视频| a黄色片在线观看| 伊人一区二区三区久久精品| 亚洲黄色小说网址| 欧美日韩免费高清一区色橹橹| 久久免费视频6| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲图片自拍偷拍| 国产传媒视频在线| 99久久99久久精品免费看蜜桃| 中文字幕永久有效| 国产一级一区二区| 大荫蒂性生交片| 日韩在线欧美| 欧美中日韩免费视频| 波多野结衣欧美| 成人激情视频小说免费下载| 超级碰碰久久| 久久久久成人精品| av中文字幕在线观看| 中文字幕欧美视频在线| 无套内谢的新婚少妇国语播放| 91精品国产福利在线观看 | 日韩国产欧美一区二区三区| 久久久久久久9| 91综合久久一区二区| 日本不卡二区| 日韩伦理一区二区三区| 欧美日韩国产高清一区| 综合视频免费看| 亚洲美女15p| 成人av免费看| 久久国产精品免费一区二区三区| 国产精品永久免费视频| 日韩另类视频| 国产精品久久91| 日韩成人动漫| 国产成人高潮免费观看精品| 妞干网免费在线视频| 欧美精品成人在线| 最近中文字幕免费mv2018在线| 综合网中文字幕| 国模精品一区二区| 亚洲欧洲视频在线| 日本亚洲欧美| 亚洲区中文字幕| 黄色小视频在线免费观看| 亚洲人成电影网站色www| 三级av在线| 亚洲欧洲在线视频| 男男激情在线| 国产性色av一区二区| 91啦中文在线| www.日本久久久久com.| 日本在线观看视频| 久久中文字幕视频| 宅男在线观看免费高清网站| 久久99久久99精品中文字幕 | 亚洲欧洲av一区二区三区久久| 永久免费毛片在线观看| 国产精品麻豆欧美日韩ww| 妖精视频在线观看免费| 国产精品国模大尺度视频| 99国产精品无码| 亚洲免费资源在线播放| 九九热精彩视频| 亚洲高清视频的网址| 日韩美女视频网站| 色综合中文综合网| 中文字幕在线播放av| 宅男在线国产精品| 亚洲国产剧情在线观看| 日韩av综合网站| 成人在线播放视频| 欧美精品手机在线| 2018av在线| 国产精品久久久久久久久久久新郎 | wwww亚洲| 国产精品91久久久久久| 亚洲日本免费电影| 国产精品初高中精品久久| 爽爽窝窝午夜精品一区二区| 91精品国产综合久久久蜜臀图片 | 精品一区二区三区香蕉蜜桃| 中文字幕第22页| 成人免费高清在线| 丰满少妇一区二区| 中文字幕中文字幕一区二区| 久草视频免费播放| 欧美视频在线视频| 国产孕妇孕交大片孕| 亚洲国产美女精品久久久久∴| 大片免费播放在线视频| 欧美男插女视频| 成人软件在线观看| 99re国产在线播放| 九色精品国产蝌蚪| 中文字幕日韩精品无码内射| 亚洲欧美视频| 无码人妻一区二区三区在线视频| 99视频精品在线| 久久国产高清视频| 欧美性少妇18aaaa视频| 国产三级自拍视频| 亚洲天堂网在线观看| 欧美家庭影院| 国产精品午夜一区二区欲梦| 加勒比色老久久爱综合网| 天天好比中文综合网| 亚洲日本黄色| 亚洲综合在线一区二区| 久久人人爽爽爽人久久久| 成年人av电影| 欧洲av一区二区嗯嗯嗯啊| 黄色av网站免费在线观看| 日韩中文字幕视频| 中文在线免费视频| 国产精品日韩高清| 欧美在线精品一区| 在线免费看v片| 中文字幕免费一区| 日本中文字幕第一页| 欧美精品一区二区高清在线观看 | 亚洲精品久久久久久无码色欲四季 | 91视频一区| 九色91popny| 久久久久国色av免费看影院| 日本中文字幕免费| 欧美成人艳星乳罩| 国产成人无吗| 成人av在线网址| 热久久天天拍国产| 蜜臀av午夜一区二区三区| 99视频精品在线| 日本一区二区不卡在线| 精品久久五月天| av免费看在线| 亚洲自拍高清视频网站| 91精品国产91久久久久久密臀 | 亚洲国产aⅴ精品一区二区三区| 日韩av电影免费观看| 麻豆9191精品国产| 久久精品国产亚洲AV熟女| 福利写真视频网站在线| 国产91色在线|| 蜜臀久久99精品久久一区二区| www.爱色av.com| 久久尤物电影视频在线观看| 黑人一级大毛片| 亚洲精品自拍第一页| 性感女国产在线| 欧美aaaaa喷水| 日韩va亚洲va欧美va久久| 免费看裸体网站| 欧美少妇一区二区| 麻豆视频在线免费观看| 91色p视频在线| 午夜久久99| 亚洲色图欧美另类| 亚洲成av人片在www色猫咪| 三级网站免费观看| 欧美一级片久久久久久久| 婷婷成人在线| 99sesese| 尤物在线观看一区| 日本免费网站在线观看| 欧美亚洲午夜视频在线观看| 欧美极品在线观看| 男女视频在线看| 最新高清无码专区| www五月婷婷| 午夜精品三级视频福利| av一级亚洲| 情侣黄网站免费看| 国产精品福利av | 亚洲国产精品字幕| 桃子视频成人app| 99中文字幕在线观看| 白白色亚洲国产精品| 日本视频免费观看| 久久精品视频亚洲| 91综合久久爱com| 激情五月开心婷婷| 亚洲欧洲三级电影| 日本xxxx人| 国产精品永久免费观看| 激情久久一区| 女人黄色一级片| 欧美成人bangbros| 亚洲承认视频| 肉大捧一出免费观看网站在线播放| av电影在线观看一区| 中文字幕在线观看高清| 欧美精品videos另类日本| 欧美日韩123| 亚洲妇女无套内射精| 日本高清不卡视频| 中文国产字幕在线观看| 日产精品一线二线三线芒果| 国产福利91精品一区| 波多野结衣一区二区三区四区| 九九热在线精品视频| 精品一区二区三| 久久性爱视频网站| 欧美日韩国产美|