[發明專利]一種接口轉換方法及系統在審
| 申請號: | 201911421730.8 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN113126969A | 公開(公告)日: | 2021-07-16 |
| 發明(設計)人: | 徐佳宏;毛建會;連重明 | 申請(專利權)人: | 深圳市茁壯網絡股份有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王兆林 |
| 地址: | 518004 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 接口 轉換 方法 系統 | ||
本發明公開了一種接口轉換方法及系統,Web應用的js語句直接通過Android提供的Java接口,來調用Java語言實現的Java對象的方法和屬性的過程是在瀏覽器和JNI層中實現的,且在瀏覽器和JNI層中并未涉及任何與Java對象的方法和屬性的相關邏輯,而只是對Java對象的方法和屬性的簡單封裝,從而起到一個連接js語言和Java實現之間的“通道”,并且,JNI機制可以實現C/C++函數調用Java函數在同一個線程中調用,且不涉及跨線程問題,因此,本發明避免了在調用和返回過程中的兩次跨線程通信的問題,從而提高了js的執行效率。
技術領域
本發明涉及計算機技術領域,更具體的說,涉及一種接口轉換方法及系統。
背景技術
在Android平臺上,Web應用的js語句,不只可以調用瀏覽器中支持js對象的相關方法和屬性來獲取相關數據,還可以直接通過Android提供的Java接口,調用Java語言實現的Java對象的方法和屬性來獲取相關數據。
Web應用的js語句直接通過Android提供的Java接口來調用Java語言實現Java對象的方法和屬性時,需要通過跨線程實現,具體為:為方便敘述,將js執行語句所在的線程叫做“js線程”,將js調用Java對象的方法和屬性過程中,Java執行語句所在的線程叫做“Java線程”。Web應用的js語句調用后,需要先把執行請求由js線程發送到java線程的事件隊列中去,等待java線程執行。在java線程中,執行完相關邏輯后,又要把執行結果由java線程發送到js線程。由此可以看出,Web應用的js語句直接通過Android提供的Java接口,來調用Java語言實現的Java對象的方法和屬性時,需要經過兩次跨線程通信。而兩次跨線程通信是有時間開銷的,當這種通信過程執行次數比較多時,兩個線程的“事件隊列”長度會很長,而隊列越長,時間延遲越嚴重,導致js執行效率越來越低。
發明內容
有鑒于此,本發明公開一種接口轉換方法及系統,以解決當Web應用的js語句直接通過Android提供的Java接口,來調用Java語言實現的Java對象的方法和屬性時,因需要經過兩次跨線程通信,而導致js執行效率低的問題。
一種接口轉換方法,包括:
基于web應用,通過js語句調用目標js對象的屬性和相對應的方法函數,將所述方法函數記為:第一方法函數;
當瀏覽器執行到所述目標js對象和所述第一方法函數時,控制所述瀏覽器對所述目標js對象和所述第一方法函數進行語法解析,確定所述瀏覽器對應的采用C/C++實現的與所述第一方法函數對應的第二方法函數,其中,所述第二方法函數用于直接調用JNI層與所述第一方法函數對應的JNI層函數;
調用所述第二方法函數;
基于所述第二方法函數,調用所述JNI層中與所述第二方法函數對應的JNI層函數;
基于所述JNI層函數,調用Java層中采用Java語言實現所述第一方法函數的Java層函數;
采用所述Java層函數對Java對象的方法和屬性進行處理,得到處理結果;
將所述處理結果通過所述JNI層傳遞至所述瀏覽器,由所述瀏覽器將所述處理結果傳遞給web應用。
可選的,所述基于web應用,通過js語句調用目標js對象的屬性和相對應的方法函數,將所述方法函數記為:第一方法函數,具體包括:
利用所述web應用直接采用所述js語句獲取所述目標js對象的實例;
利用所述目標js對象的實例調用所述第一方法函數。
可選的,還包括:當采用C/C++調用Java時,控制所述JNI層根據待調用Java對象所屬數據包的名稱和對象名稱,創建一個實例;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市茁壯網絡股份有限公司,未經深圳市茁壯網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911421730.8/2.html,轉載請聲明來源鉆瓜專利網。





