終端設備及其應用程式的執行方法與流程
2023-09-15 10:21:05

本發明涉及數據傳輸技術領域,特別是涉及一種終端設備及其應用程式的執行方法。
背景技術:
超文本標記語言(Hyper Text Markup Language,HTML),是全球資訊網的核心語言,其發展使原來靜態的網頁變成了腳本語言(Javascript)編寫的網頁(web)應用。
隨著HTML 5的發展,應用程式(Application,App)的安裝包(APK)通過使用網絡瀏覽器引擎加載存儲在雲端的HTML 5頁面,來運行所述應用程式。
但是,當多個應用程式同時使用同一網絡瀏覽器引擎時,在每個應用程式的apk中分別封裝所述網絡瀏覽器引擎,浪費了較多的存儲資源。
技術實現要素:
本發明實施例解決的技術問題是如何在多個應用程式使用同一網頁瀏覽器引擎時,節約資源。
為解決上述問題,本發明實施例提供了一種終端設備中應用程式的執行方法,所述方法包括:
下載並安裝應用程式的安裝包;
當首次啟動所述應用程式時,判斷終端設備內其他應用程式是否已安裝並運行過所述應用程式對應的網頁瀏覽器引擎;
當確定所述終端設備內其他應用程式已下載並運行過所述應用程式對應的網頁瀏覽器引擎時,讀取所述其他應用程式的數據目錄下所述網頁瀏覽器引擎的配置文件;
根據所述網頁瀏覽器引擎的配置文件,動態加載所述網頁瀏覽器引擎;
將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面。
可選地,所述方法還包括:
當確定所述終端設備內其他應用程式未下載並運行過所述應用程式對應的網頁瀏覽器引擎時,從網絡後臺下載所述網頁瀏覽器引擎;
當下載完成並啟動所述網頁瀏覽器引擎時,執行所述將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面,並生成所述網頁瀏覽器引擎的配置文件。
可選地,從網絡後臺下載的所述網頁瀏覽器引擎包括Java JAR包和和動態連結庫。
可選地,所述將目標頁面的URL傳遞至所述網頁瀏覽器引擎,包括:採用Java Invoke函數將所述目標頁面的URL傳遞至所述網頁瀏覽器引擎。
可選地,所述目標頁面為HTML5頁面。
本發明實施例還提供了一種終端設備,所述終端設備包括:
下載安裝單元,適於下載並安裝應用程式的安裝包;
判斷單元,適於當首次啟動所述應用程式時,判斷終端設備內其他應用程式是否已安裝並運行過所述應用程式對應的網頁瀏覽器引擎;
讀取單元,適於當確定所述終端設備內其他應用程式已下載並運行過所述應用程式對應的網頁瀏覽器引擎時,讀取所述其他應用程式的數據目錄下所述網頁瀏覽器引擎的配置文件;
動態加載單元,適於根據所述網頁瀏覽器引擎的配置文件,動態加載所述網頁瀏覽器引擎;
URL傳遞單元,適於將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面。
可選地,所述終端設備還包括:
後臺下載單元,適於當確定所述終端設備內其他應用程式未下載並運行 過所述應用程式對應的網頁瀏覽器引擎時,從網絡後臺下載所述網頁瀏覽器引擎;
所述URL傳遞單元,還適於當下載完成並啟動所述網頁瀏覽器引擎時,執行所述將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面的操作;
配置文件生成單元,適於當下載完成並啟動所述網頁瀏覽器引擎時,生成所述網頁瀏覽器引擎的配置文件。
可選地,所述後臺下載單元從網絡後臺下載的所述網頁瀏覽器引擎包括Java JAR包和和動態連結庫。
可選地,所述URL傳遞單元適於採用Java Invoke函數將所述目標頁面的URL傳遞至所述網頁瀏覽器引擎。
可選地,所述終端設備為移動終端或者電視機。
與現有技術相比,本發明的技術方案具有以下的優點:
上述的方案,通過終端設備上已安裝的應用程式的數據目錄下獲取網頁瀏覽器引擎的配置文件,動態加載已安裝並運行過的網頁瀏覽器引擎,可以避免使用同一網頁瀏覽器引擎的所有應用程式的安裝包內封裝所述網頁瀏覽器引擎,因此,可以節約存儲資源。
附圖說明
圖1是本發明實施例中的一種終端設備中應用程式的執行方法的流程圖;
圖2是本發明實施例中的另一種終端設備中應用程式的執行方法的流程圖;
圖3是本發明實施例中的一種終端設備的結構示意圖。
具體實施方式
現有技術中,智慧型手機和智能電視等終端設備,通過下載並安裝應用程式的APK來完成應用程式的下載和安裝。
隨著HTML5內容越來越成熟,HTML5頁面內容是由HTML5網頁瀏覽 器引擎(runtime)加載對應目標頁面的統一資源定位符(Uniform Resoure Locator,URL),指向雲端的HTML5頁面,然後運行。由於目前主流應用商店只能支持APK下載安裝和分發模式,HTML5應用程式(網頁應用程式)也可以變成APK,把HTML5瀏覽器引擎封裝在APK內,同時指定加載運行的URL即可作為一個標準的原生應用程式。
在多個HTML5網頁應用程式共同使用同一個HTML5網頁瀏覽器引擎時,需要在每個原生應用程式的APK內均封裝所述HTML5網頁瀏覽器引擎,這不但使得APK由原有的幾兆大小增加至幾十兆大小,而且各個網頁瀏覽器引擎均會建立各自獨立的目錄,因此,存在著資源浪費的問題。
為解決現有技術中存在的上述問題,本發明實施例採用的技術方案通過終端設備上已安裝的應用程式的數據目錄下獲取網頁瀏覽器引擎的配置文件,動態加載已安裝並運行過的網頁瀏覽器引擎,可以節約存儲資源。
為使本發明的上述目的、特徵和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施例做詳細的說明。
圖1示出了本發明實施例中的一種終端設備中應用程式的執行方法的流程圖。如圖1所示的終端設備中應用程式的執行方法,可以包括:
步驟S101:下載並安裝應用程式的安裝包。
步驟S102:當首次啟動所述應用程式時,判斷終端設備內其他應用程式是否已安裝並運行過所述應用程式對應的網頁瀏覽器引擎。
步驟S103:當確定所述終端設備內其他應用程式已下載並運行過所述應用程式對應的網頁瀏覽器引擎時,讀取所述其他應用程式的數據目錄下所述網頁瀏覽器引擎的配置文件。
步驟S104:根據所述網頁瀏覽器引擎的配置文件,動態加載所述網頁瀏覽器引擎。
步驟S105:將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面。
下面將結合圖2和具體實施例對本發明中的終端設備中應用程式的執行 方法作進一步詳細的介紹。
圖2示出了本發明實施例中的一種終端設備中應用程式的執行方法的流程圖。如圖2所示的終端設備中應用程式的執行方法,可以包括:
步驟S201:下載並安裝應用程式的安裝包。
在具體實施中,所述應用程式的安裝包中包括所述應用程式的啟動圖和邏輯代碼。
步驟S202:當首次啟動所述應用程式時,判斷終端設備內其他應用程式是否已安裝並運行過所述應用程式對應的網頁瀏覽器引擎,當判斷結果為是時,可以執行步驟S203,反之,則可以執行步驟S206。
在具體實施中,所述應用程式在首次啟動時,可以首先判斷終端設備內的其他應用程式是否已經安裝並運行過所述應用程式對應的網頁瀏覽器引擎。
在本發明一實施例中,可以遍歷所述終端設備內已安裝的其他應用程式的數據目錄下是否存在所述網頁瀏覽器引擎的配置文件。當確定其他應用程式的數據目錄下存在所述網頁瀏覽器引擎的配置文件時,則確定其他應用程式已安裝並運行所述網頁瀏覽器引擎。
在本發明另一實施例中,可以通過查詢一應用程式目錄,來確定所述終端設備內安裝的應用程式是否已經安裝並運行過對應的網頁瀏覽器引擎。其中,所述應用程式目錄中包括多個已安裝並運行過不同網頁瀏覽器引擎的應用程式。
例如,當終端設備檢測到其內安裝的首個使用HTML5網頁瀏覽器引擎的應用程式時,便將所述首個使用HTML5網頁瀏覽器引擎的應用程式的名稱添加在所述應用程式目錄中;當終端設備檢測到其內安裝的首個使用WebKit網頁瀏覽器引擎的應用程式時,便將所述首個使用HTML5網頁瀏覽器引擎的應用程式的名稱添加在所述應用程式目錄。
通過這種方式,所述應用程式目錄便可以包括所述終端設備內使用不同網頁瀏覽器引擎的應用程式。因此,當一新安裝的應用程式首次啟動時,通過遍歷所述應用程式目錄中的應用程式的數據目錄中是否存在對應的網頁瀏 覽器引擎的配置文件,便可以確定所述終端設備內的應用程式是否已經安裝並運行過對應的網頁瀏覽器引擎。由於所述應用程式目錄中的應用程式僅包括了所述終端設備中部分已安裝的應用程式,使得遍歷的應用程式的數據目錄的數量減少,因此,可以提升判斷的速度,進而提升終端設備中應用程式的執行速度,提升用戶的使用體驗。
步驟S203:讀取所述其他應用程式的數據目錄下所述網頁瀏覽器引擎的配置文件。
在具體實施中,當確定所述終端設備中的其他應用程式已安裝並運行過所述應用程式對應的網頁瀏覽器引擎時,可以讀取其他應用程式的數據目錄中所述網頁瀏覽器引擎的配置文件。
步驟S204:根據所述網頁瀏覽器引擎的配置文件,動態加載所述網頁瀏覽器引擎。
在具體實施中,所述配置文件中包括所述網頁瀏覽器引擎所在的目錄地址的信息。讀取所述配置文件,便可以獲取所述網頁瀏覽器引擎所在的位置,進而可以找到所述網頁瀏覽器引擎,並將所述網頁瀏覽器引擎利用Java反射機制動態加載到所述應用程式的進程中,從而為所述應用程式啟用所述網頁瀏覽器引擎。
步驟S205:將目標頁面的URL傳遞至所述動態加載的網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面。
在具體實施中,當動態加載所述網頁瀏覽器引擎完成時,可以採用Java Invoke函數將目標頁面的URL傳遞至所述網頁瀏覽器引擎。所述動態加載的網頁瀏覽器引擎通過所述目標頁面的URL加載位於雲端的所述目標頁面,從而運行所述應用程式。
步驟S206:從網絡後臺下載所述網頁瀏覽器引擎。
在具體實施中,當確定所述終端設備內其他應用程式未安裝並運行過對應的網頁瀏覽器引擎時,可以從網絡後臺下載所述網頁瀏覽器引擎。其中,從網絡後臺下載的所述網頁瀏覽器引擎,包括Java JAR包和C語言編寫的動態連結庫。採用這種方式,當所述網頁瀏覽器引擎有更新時,便可以採用差 分升級(patch)的方式來下載所述網頁瀏覽器引擎,可以減少數據傳輸量,提升所述網頁瀏覽器引擎的下載速度,進而可以提升所述應用程式的執行速度,提升用戶的使用體驗。
步驟S207:當下載完成並啟動所述網頁瀏覽器引擎時,將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面,並生成所述網頁瀏覽器引擎的配置文件。
在本發明一實施例中,當下載完成所述網頁瀏覽器引擎時,可以通過採用Java Invoke函數將所述目標頁面的URL傳送至所述網頁瀏覽器引擎。所述網頁瀏覽器引擎在通過所述目標頁面的URL時,啟動位於雲端的所述目標頁面,從而運行所述應用程式。
當下載完成所述網頁瀏覽器引擎時,在所述應用程式的數據目錄下創建所述網頁瀏覽器引擎的配置文件,並將所述配置文件的權限設置為全局可讀。這樣,後續啟動的其他應用程式便可以訪問所述配置文件來動態加載所述網頁瀏覽器引擎。
在本發明一實施例,所述目標頁面為HTML5頁面,所述網頁瀏覽器引擎為HTML5網頁瀏覽器引擎。
下面將結合圖3對上述的方法對應的終端設備做進一步詳細的介紹。
圖3示出了本發明實施例中的一種終端設備的結構示意圖。如圖3所示的終端設備300,可以包括下載安裝單元301、判斷單元302、讀取單元303動態加載單元304和URL傳遞單元305,其中:
下載安裝單元301,適於下載並安裝應用程式的安裝包。
判斷單元302,適於當首次啟動所述應用程式時,判斷終端設備內其他應用程式是否已安裝並運行過所述應用程式對應的網頁瀏覽器引擎。
讀取單元303,適於當確定所述終端設備內其他應用程式已下載並運行過所述應用程式對應的網頁瀏覽器引擎時,讀取所述其他應用程式的數據目錄下所述網頁瀏覽器引擎的配置文件。
動態加載單元304,適於根據所述網頁瀏覽器引擎的配置文件,動態加載 所述網頁瀏覽器引擎。
URL傳遞單元305,適於將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面。
在具體實施中,所述URL傳遞單元305適於採用Java Invoke函數將所述目標頁面的URL傳遞至所述網頁瀏覽器引擎。
在具體實施中,所述終端設備300還可以包括後臺下載單元306和配置文件生成單元307,其中:
後臺下載單元306,適於當確定所述終端設備內其他應用程式未下載並運行過所述應用程式對應的網頁瀏覽器引擎時,從網絡後臺下載所述網頁瀏覽器引擎;
在具體實施中,所述後臺下載單元306從網絡後臺下載的所述網頁瀏覽器引擎,包括Java JAR包和動態連結庫。
URL傳遞單元305,適於當下載完成並啟動所述網頁瀏覽器引擎時,執行所述將目標頁面的URL傳遞至所述網頁瀏覽器引擎,使得所述網頁瀏覽器引擎通過所述目標頁面的URL加載所述目標頁面的操作;
在具體實施中,所述URL傳遞單元305適於通過對象傳遞函數intent將所述目標頁面的URL傳遞至所述網頁瀏覽器引擎。
配置文件生成單元307,適於當下載完成並啟動所述網頁瀏覽器引擎時,生成所述網頁瀏覽器引擎的配置文件。
在具體實施中,所述終端設備為移動終端或者電視機。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於計算機可讀存儲介質中,存儲介質可以包括:ROM、RAM、磁碟或光碟等。
以上對本發明實施例的方法及系統做了詳細的介紹,本發明並不限於此。任何本領域技術人員,在不脫離本發明的精神和範圍內,均可作各種更動與修改,因此本發明的保護範圍應當以權利要求所限定的範圍為準。