<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > JNI技術(shù)如何在嵌入式軟件開(kāi)發(fā)中應用?

JNI技術(shù)如何在嵌入式軟件開(kāi)發(fā)中應用?

作者: 時(shí)間:2018-08-07 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201808/385730.htm

①發(fā)起該流程。

②發(fā)起流程后,建立文件用于存儲圖片。

③用指針獲得分配的緩沖器,用于存儲獲得的幀。

④ 將指針壓棧(序列化緩沖器)。由于的內存較小,為了防止內存泄漏,Symbian操作系統有一個(gè)Cleanup stack的要求,即在使用指針時(shí),用PushL把指針壓入棧中,使用完后再用Pop彈出棧.如果在中間調用導致崩潰的函數時(shí)果真出現了問(wèn)題,那么 Clean up stack可以通過(guò)調用該指針的析構函數回收占用的空間。

⑤操縱攝像頭,捕捉視頻,并將圖像流從攝像頭端傳到緩沖器。

⑥將攝像頭內的圖像流存入緩沖器內,并將緩沖器內的流轉化為文件流,存為jpg格式的文件,將指向緩沖器的指針彈棧。

⑦在過(guò)程⑥中,如果使用完了序列化的緩沖器,則要重新序列化緩沖器,以備后面使用。

⑧當接收到停止視頻捕捉的信號后,關(guān)閉文件。

⑨流程結束。

(2)運用JNI技術(shù)的視頻捕捉

子功能捕捉視頻的實(shí)現是由操縱攝像頭、視頻播放(解碼器準備)以及建立攝像頭和之間的連接會(huì )話(huà)三個(gè)活動(dòng)組成的。其中操縱攝像頭是通過(guò)調用底層設備的驅動(dòng)來(lái)實(shí)現的,需要利用JNI來(lái)實(shí)現,完成的方法包括準備、建立、刪除、銷(xiāo)毀攝像頭等。視頻播放的一系列過(guò)程也是通過(guò)c++代碼來(lái)實(shí)現的,除了準備、建立、刪除、銷(xiāo)毀解碼器外,還有開(kāi)始、暫停、停止解碼等。建立攝像頭和之間的連接類(lèi)似建立客戶(hù)端和服務(wù)器連接,視頻流從攝像頭傳到手機界面是通過(guò)多媒體會(huì )話(huà)來(lái)完成的。多媒體會(huì )話(huà)的建立、關(guān)閉、摧毀以及會(huì )話(huà)建立后的發(fā)送、取消、讀取數據等也是JNI的應用范疇。

結 語(yǔ)

主張采用純Java的人們通常反對本地化代碼的使用,認為JNI技術(shù)會(huì )影響程序的可移植性和安全性。還有一些人認為,在Java程序執行的過(guò)程中調用c/c++程序只是對過(guò)去混合編程技術(shù)的簡(jiǎn)單擴展,其實(shí)際目的是為了充分利用大量原有的c程序庫。

其實(shí),不必拘泥于嚴格的平臺獨立性限制,因為采用JNI技術(shù)只是針對一些嚴重影響Java性能的代碼段。該部分可能只占源程序的極少部分,所以幾乎可以不考慮該部分代碼在主流平臺之間移植的工作量。同時(shí),也不必過(guò)分擔心類(lèi)型匹配問(wèn)題,完全可以控制代碼不出現這種錯誤。此外,也不必擔心安全控制問(wèn)題,因為 Java安全模型已擴展為允許非系統類(lèi)加載和調用本地方法,即如果在Java程序中直接調用c/c++語(yǔ)言產(chǎn)生的機器碼,該部分代碼的安全性就由Java 虛擬機控制。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>