本申請涉及計算機技術領域,尤其涉及界面配置方法及裝置。
背景技術:
隨著網絡技術的飛速發展,網絡視頻直播系統可以應用戶的要求,將主播用戶的直播視頻流廣播至多個觀眾用戶實現直播。在直播實現過程中,主播用戶的客戶端設備采集主播用戶的直播視頻流,將直播視頻流發送給服務器,服務器將直播視頻流通過廣播或組播技術發送到相應的觀眾客戶端,各個觀眾客戶端接收并顯示該直播視頻流。
目前廣泛發展的網絡直播系統可以植入移動終端中,實現移動網絡直播。在實現過移動網絡直播后,如果用戶要進入直播間,直播應用接收到來自直播入口的進入請求后,跳轉到直播間配置界面,然后依次執行各配置操作,最終根據配置操作呈現直播間界面的完整畫面,這里提到的配置操作包括:加載相關業務組件、渲染相關業務組件等。
而隨著直播業務的不斷發展,業務組件的類型越來越多,進入直播界面需要加載的業務組件也越來越多,渲染這些業務組件耗費的時間、占用的處理器和內存資源也越來越多,增加了直播應用響應用戶進入直播間界面的請求后,所進行的響應操作的操作量和操作時長,降低直播界面的配置效率的同時,會致使用戶等待界面呈現的時間延長。
技術實現要素:
本申請提供界面配置方法及裝置,能夠降低應用響應用戶進入界面的請求后所進行的響應操作時長,提高界面配置效率的同時降低用戶等待界面呈現的時間。
根據本申請實施例的第一方面,提供一種界面配置方法,包括以下步驟:
獲取待配置的界面對應的業務組件;
從獲取的業務組件中確定關鍵組件,其中,所述關鍵組件與需要優先輸出的界面信息對應;
在渲染獲取的業務組件時,優先渲染所確定的關鍵組件;
在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的界面信息。
在一個實施例中,所述獲取待配置的界面對應的業務組件前,所述方法還包括以下步驟:
預設的界面輸出事件發生后,輸出用于提示用戶界面正在配置中的提示信息;
將用于實現界面配置的各串行操作劃分為多組并行操作,其中一組并行操作包括獲取待配置的界面對應的業務組件,其中另一組并行操作包括渲染獲取的業務組件;
調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
在一個實施例中,所述從獲取的業務組件中確定關鍵組件,包括:
確定所獲取的各業務組件的優先級;
將優先級高于預設級別的業務組件,確定為關鍵組件;
所述在渲染獲取的業務組件時,優先渲染所確定的關鍵組件,包括:
在渲染獲取的業務組件時,優先按照優先級從高到底的順序渲染各關鍵組件;
所述在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的界面信息,包括:
每渲染完成一個優先級的關鍵組件,即基于該完成渲染的關鍵組件相應輸出部分界面信息。
在一個實施例中,所述所述在渲染獲取的業務組件時,優先按照優先級從高到底的順序渲染各關鍵組件,包括:
在渲染獲取的業務組件時,調用主線程優先按照優先級從高到底的順序渲染各關鍵組件;
所述方法還包括以下步驟:
調用子線程按照優先級從高到低的順序渲染其他業務組件;
每渲染完成一個優先級的業務組件,即基于該完成渲染的業務組件相應輸出部分界面信息。
在一個實施例中,所述確定所獲取的各業務組件的優先級,包括:
從所獲取的各業務組件中選取與所述待配置的界面的主功能匹配的組件;
將選取的組件確定為優先級別最高的業務組件。
在一個實施例中,與所述待配置的界面的主功能匹配的組件存放在父容器內。
在一個實施例中,所述待配置的界面為待配置的直播界面,所述直播界面的主功能包括直播功能,所述直播界面的輔助功能包括以下至少一項:
彈幕功能、公屏功能、虛擬禮物功能、點贊功能。
在一個實施例中,所述并行操作為以下操作中任一項:
直播頻道協議的發送操作、直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作。
在一個實施例中,所述獲取待配置的界面對應的業務組件前,所述方法還包括以下步驟:
預設的界面輸出事件發生后,向直播服務器發送直播頻道協議;
輸出用于提示用戶界面正在配置中的提示信息;
將以下六項串行操作劃分為六組并行操作:
直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作;
調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
根據本申請實施例的第二方面,提供一種界面配置裝置,包括:
業務組件獲取模塊,用于獲取待配置的界面對應的業務組件;
關鍵組件確定模塊,用于從獲取的業務組件中確定關鍵組件,其中,所述關鍵組件與需要優先輸出的界面信息對應;
關鍵組件渲染模塊,用于在渲染獲取的業務組件時,優先渲染所確定的關鍵組件;
界面信息輸出模塊,用于在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的界面信息。
在一個實施例中,所述裝置還包括:
第一提示模塊,用于在預設的界面輸出事件發生后,輸出用于提示用戶界面正在配置中的提示信息;
第一轉換模塊,用于將用于實現界面配置的各串行操作劃分為多組并行操作,其中一組并行操作包括獲取待配置的界面對應的業務組件,其中另一組并行操作包括渲染獲取的業務組件;
第一處理模塊,用于調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
在一個實施例中,所述關鍵組件確定模塊包括:
優先級確定模塊,用于確定所獲取的各業務組件的優先級;
組件確定子模塊,用于將優先級高于預設級別的業務組件,確定為關鍵組件;
所述關鍵組件渲染模塊包括:
順序渲染模塊,用于在渲染獲取的業務組件時,優先按照優先級從高到底的順序渲染各關鍵組件;
所述界面信息輸出模塊包括:
第一輸出模塊,用于在每渲染完成一個優先級的關鍵組件后,基于該完成渲染的關鍵組件相應輸出部分界面信息。
在一個實施例中,所述順序渲染模塊包括:
主線程渲染模塊,用于在渲染獲取的業務組件時,調用主線程優先按照優先級從高到底的順序渲染各關鍵組件;
所述裝置還包括:
子線程渲染模塊,用于調用子線程按照優先級從高到低的順序渲染其他業務組件;
第二輸出模塊,用于在每渲染完成一個優先級的業務組件后,基于該完成渲染的業務組件相應輸出部分界面信息。
在一個實施例中,所述優先級確定模塊包括:
主功能組件選取模塊,用于從所獲取的各業務組件中選取與所述待配置的界面的主功能匹配的組件;
最高級組件確定模塊,用于將選取的組件確定為優先級別最高的業務組件。
在一個實施例中,與所述待配置的界面的主功能匹配的組件存放在父容器內。
在一個實施例中,所述待配置的界面為待配置的直播界面,所述直播界面的主功能包括直播功能,所述直播界面的輔助功能包括以下至少一項:
彈幕功能、公屏功能、虛擬禮物功能、點贊功能。
在一個實施例中,所述并行操作為以下操作中任一項:
直播頻道協議的發送操作、直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作。
在一個實施例中,所述裝置還包括:
頻道協議發送模塊,用于在預設的界面輸出事件發生后,向直播服務器發送直播頻道協議;
第二提示模塊,用于輸出用于提示用戶界面正在配置中的提示信息;
第二轉換模塊,用于將以下六項串行操作劃分為六組并行操作:
直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作;
第二處理模塊,用于調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
應用本申請實施例,在獲取待配置的界面對應的業務組件后,確定出與需要優先輸出的界面信息對應的關鍵組件,并優先渲染所確定的關鍵組件,渲染完關鍵組件完后,即刻基于完成渲染的關鍵組件輸出對應的界面信息。可以不受其他非關鍵的業務組件的渲染過程的限制,優先輸出需要優先輸出的界面信息,及時進行界面呈現,因此,能降低應用響應用戶進入界面的請求后所進行的響應操作時長,提高界面配置效率的同時,降低用戶等待界面呈現的時間。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本申請。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本申請的實施例,并與說明書一起用于解釋本申請的原理。
圖1是本申請實施例界面配置方法的一個應用場景示意圖;
圖2是本申請界面配置方法的一個實施例流程圖;
圖3是本申請界面配置方法的另一個實施例流程圖;
圖4是本申請界面配置裝置所在終端的一種硬件結構圖;
圖5是本申請界面配置裝置的一個實施例框圖;
圖6是本申請界面配置裝置的一個實施例框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
本申請涉及的界面可以包括系統界面、客戶端界面、網頁界面等,客戶端界面可以包括具有直播功能的客戶端的直播界面,網頁界面可以包括網絡電商的商品推銷界面等。通過本申請實施例的界面配置方法對這些界面進行配置,可以確定出與需要優先輸出的界面信息對應的關鍵組件,并優先渲染所確定的關鍵組件,渲染完關鍵組件完后,即刻基于完成渲染的關鍵組件輸出對應的界面信息,其余界面信息隨著剩余業務組件的渲染逐步輸出。這樣配置界面可以不受其他非關鍵的業務組件的渲染過程的限制,優先輸出需要優先輸出的界面信息,及時進行界面呈現。
參見圖1,以直播界面為例,示出本申請實施例界面配置方法的一個應用場景示意圖,該應用場景包括:直播服務器以及通過網絡分別與直播服務器連接的直播終端、移動觀看終端和固定觀看終端。
對于直播終端,裝設有主播客戶端,可以是具有數據采集、編碼、通信功能的設備,例如:臺式計算機、智能手機、平板電腦等智能設備。在主播用戶啟動直播后,主播客戶端將直播終端采集的直播視頻流發送給直播服務器。
對于直播服務器,用于提供網絡直播的后臺服務,接收直播終端發送的直播視頻流,并將該直播視頻流與主播客戶端對應存儲。此外,還存儲有主播客戶端與各個頻道之間的對應關系、各個頻道的直播界面的業務功能的業務需求對應的業務組件,對應直播界面的不同業務功能,業務組件可以包括視頻組件、彈幕組件、公屏組件、虛擬禮物組件、點贊組件等,為了區分不同業務組件,業務組件可以攜帶有組件ID和/或配置條件標識。
當觀眾客戶端選擇頻道后,直播服務器可以根據各個頻道與主播客戶端的對應關系,向屬于同一頻道內的觀眾客戶端發送直播視頻流和業務組件,以便觀眾客戶端配置該頻道的直播界面,向用戶展示主播客戶端上傳的直播視頻流。
對于移動觀看終端和固定觀看終端,可以是具有數據通信、渲染、輸出功能的設備,例如:臺式計算機、智能手機、平板電腦等智能設備。其裝設有觀眾客戶端,便于用戶通過移動觀看終端或固定觀看終端觀看主播客戶端上傳的直播視頻流。
實際應用中,當移動觀看終端或固定觀看終端的用戶通過移動觀看終端或固定觀看終端選擇某個頻道后,觀眾客戶端識別到用戶需要進入該頻道對應的直播間,啟動該頻道的直播界面的配置流程,然后向直播服務器請求該頻道的直播視頻流和業務組件,直播服務器然后響應請求,下發該頻道的直播界面對應的業務組件到觀眾客戶端,然后觀眾客戶端從獲得的業務組件中確定需要優先輸出的直播界面信息對應的組件為關鍵組件,在渲染獲得的業務組件時,優先渲染所確定的關鍵組件,并在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的直播界面信息。本申請能夠在渲染完關鍵組件完后,即刻基于完成渲染的關鍵組件輸出對應的直播界面信息,不受其他非關鍵的業務組件的渲染過程的限制,優先輸出需要優先輸出的直播界面信息,及時進行直播界面呈現,因此,能降低響應用戶進入界面的請求后所進行的響應操作時長,提高界面配置效率的同時,降低用戶等待直播界面呈現的時間。下面將結合附圖對本申請實施例進行詳細描述。
參見圖2,圖2是本申請界面配置方法的一個實施例流程圖,該實施例可以包括以下步驟201-204:
步驟201:獲取待配置的界面對應的業務組件。
本申請實施例中,所述待配置的界面可以包括系統界面、客戶端界面、網頁界面等,系統界面可以包括智能終端的運行系統的管理界面;客戶端界面可以包括具有直播功能的客戶端的直播界面,網頁界面可以包括網絡電商的商品推銷界面等。
對應所述待配置的界面,業務組件的類型可以由所述待配置的界面確定,所述待配置的界面的業務功能不同,對應的業務組件就不同。例如,待配置的界面為直播界面時,業務組件可包括分別與直播界面的直播功能、彈幕功能、公屏功能、虛擬禮物功能、點贊功能等對應的組件。
除業務組件的類型由所述待配置的界面確定外,所述待配置的界面不同時,獲取待配置的界面對應的業務組件的實現方式也可以不同,如果所述待配置的界面是系統界面,那么可以直接調取終端內存儲的業務組件;如果所述待配置的界面時客戶端界面,可以請求服務端所在的服務器下發業務組件。
此外,所述待配置的界面不同時,在獲取待配置的界面對應的業務組件前,可能還需要其他配置操作。例如,待配置的界面為直播界面,在獲取待配置的界面對應的業務組件前,需要發送頻道協議、訂閱直播視頻流、下載直播視頻流、解碼直播視頻流、綁定視頻流等。
為了進一步提高界面配置效率,可以并行執行實現界面配置的各操作,在一個可選實現方式中,在獲取待配置的界面對應的業務組件前,本申請實施例的界面配置方法還可以包括以下操作:
預設的界面輸出事件發生后,輸出用于提示用戶界面正在配置中的提示信息。
將用于實現界面配置的各串行操作劃分為多組并行操作,其中一組并行操作包括獲取待配置的界面對應的業務組件,其中另一組并行操作包括渲染獲取的業務組件。
調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
本可選方式中,各串行操作指代按順序依次執行的操作,各并行操作指代同時執行的操作,劃分后,串行操作與并行操作的數量可相等,串行操作的數量也可以多于并行操作的數量。如果待配置的界面為直播界面,各串行操作分別是:直播頻道協議的發送操作、直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作。
其中,所述提示信息和所述預設的界面輸出事件,可以根據實際情況設定,例如:提示信息為輸出的文字提示“界面配置中”、輸出的配置提示界面、或者語音提示;用戶觸發直播應用內的一頻道,即可觸發該頻道對應的直播界面的界面輸出事件的發生。
為了進一步提高界面配置效率,可以在啟動界面配置流程前,即將界面配置的關鍵操作預先執行,以直播界面為例,在一個可選實現方式中,在獲取待配置的界面對應的業務組件前,本申請實施例的界面配置方法還可以包括以下步驟:
預設的界面輸出事件發生后,向直播服務器發送直播頻道協議。
輸出用于提示用戶界面正在配置中的提示信息。
將以下六項串行操作劃分為六組并行操作:
直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作。
調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
步驟202:從獲取的業務組件中確定關鍵組件,其中,所述關鍵組件與需要優先輸出的界面信息對應。
本申請實施例中,所述關鍵組件和需要優先輸出界面信息可以由所述待配置的界面的主功能決定,因為向用戶呈現該界面,主要是向用戶展示該界面的主功能,即需要優先輸出的界面信息為主功能信息。在一個例子中,確定所獲取的各業務組件的優先級時,可以從所獲取的各業務組件中選取與所述待配置的界面的主功能匹配的組件,將選取的組件確定為優先級別最高的業務組件。而與主功能匹配的組件可以包括主功能的組件、以及主功能相關度較高的組件等,可以通過設置或識別各組件與主功能的相關度,確定關鍵組件。
在一個例子中,所述待配置的界面為待配置的直播界面,所述直播界面的主功能包括直播功能,所述關鍵組件包括視頻組件,所述直播界面的輔助功能包括以下至少一項:彈幕功能、公屏功能、虛擬禮物功能、點贊功能。
在某些例子中,為了進一步提高界面配置效率,在獲取配置界面的業務組件時,可以優先獲取需要優先輸出的界面信息對應的組件,這樣可將優先獲取的業務組件確定為關鍵組件。
此外,并行執行實現界面配置的各操作后,可能出現以下狀況:需要關聯業務組件進行顯示的信息的處理過程,比業務組件的渲染過程先完成,進而需要等待業務組件的渲染過程完成后,才能關聯顯示信息和業務組件,為了不同操作過程之間的等待時間,可以將與所述待配置的界面的主功能匹配的組件存放在父容器內,減少等待時間。以直播界面為例,關鍵組件為與直播功能匹配的視頻組件,可以將視頻組件存放到父容器中去加載,以盡量避免直播視頻的解碼操作,比視頻組件的渲染操作還快。
步驟203:在渲染獲取的業務組件時,優先渲染所確定的關鍵組件。
本申請實施例中,在業務組件的渲染操作中,先渲染關鍵組件,渲染完關鍵組件即可輸出對應的界面信息,然后再渲染其他業務組件,這樣非主功能的業務組件不影響主功能業務組件的渲染和信息輸出。
步驟204:在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的界面信息。
本申請實施例中,可以根據業務組件與界面信息之間綁定的對應關系,在基于完成渲染的關鍵組件輸出對應的界面信息時,將與關鍵組件對應的需要優先顯示的界面信息,通過關鍵組件輸出。這里提到的輸出包括文字、語音、視頻等形式中至少一種形式的輸出。
以直播界面為例,當視頻組件完成渲染時,即可基于視頻組件輸出直播視頻流。
由于同一界面可能被不同的用戶觸發配置,或者被同一用戶重復觸發配置,配置重復性較高,為了提高配置效率,可以對配置操作中的相關信息進行緩存,便于下次配置時重復利用,減少重復的配置操作、提高配置效率。以直播界面為例,可以緩存主播用戶信息、頻道信息、觀眾用戶信息、硬軟解碼信息等。
在某些例子中,為了快速確定關鍵組件,可以通過為各業務組件分配優先級,快速將優先級較高的業務組件確定為關鍵組件,將先級高的業務組件優先渲染,優先級低的延遲渲染,保證能盡快的輸出優先級高的業務為組件對應的界面信息,具體的實現過程可參見圖3,圖3是本申請界面配置方法的另一個實施例流程圖,該實施例可以包括以下步驟301-305:
步驟301:獲取待配置的界面對應的業務組件。
本申請實施例中,如果預先設置各業務組件的優先級,在獲取待配置的界面對應的業務組件時,即可按照優先級從高到底的順序獲取業務組件。
步驟302:確定所獲取的各業務組件的優先級。
本申請實施例中,可以根據與界面的主功能的相關度,確定各業務組件的優先級,相關度越高,優先級越高。
在一個例子中,可以通過以下操作確定所獲取的各業務組件的優先級:
從所獲取的各業務組件中選取與所述待配置的界面的主功能匹配的組件;
將選取的組件確定為優先級別最高的業務組件。
本例子中,以直播界面為例,其主功能為直播功能,可以將直播功能對應的視頻組件的優先級最高。
步驟303:將優先級高于預設級別的業務組件,確定為關鍵組件,其中,所述關鍵組件與需要優先輸出的界面信息對應。
本申請實施例中,預設級別可以為次最高級別,也可以為其他優先級別,可根據界面配置終端的處理器、內存等其他衡量處理速度的指標決定。
步驟304:在渲染獲取的業務組件時,優先按照優先級從高到底的順序渲染各關鍵組件。
本申請實施例中,按序渲染完各關鍵組件后,再按序渲染其他業務組件。
步驟305:每渲染完成一個優先級的關鍵組件,即基于該完成渲染的關鍵組件相應輸出部分界面信息。
本申請實施例中,可以根據業務組件與界面信息之間綁定的對應關系,在基于完成渲染的任一關鍵組件相應輸出部分界面信息時,將與該關鍵組件對應的需要優先顯示的界面信息,通過該關鍵組件輸出。這里提到的輸出包括文字、語音、視頻等形式中至少一種形式的輸出。以直播界面為例,當視頻組件完成渲染時,即可基于視頻組件輸出直播視頻流。
在某些例子中,進行界面配置的終端所安裝的操作系統為安卓系統或者IOS系統(蘋果公司推出的操作系統),其配置界面的操作過程主要在主線程中執行,如果將全部業務組件都放到一起渲染,會導致主線程需要串行的執行各個業務組件的渲染,最終會導致渲染卡頓、降低界面配置效率,為了避免其他業務組件影響關鍵組件的渲染,可以通過以下操作實現業務組件的渲染:
在渲染獲取的業務組件時,調用主線程優先按照優先級從高到底的順序渲染各關鍵組件。
每渲染完成一個優先級的關鍵組件,即基于該完成渲染的關鍵組件相應輸出部分界面信息。
調用子線程按照優先級從高到低的順序渲染其他業務組件。
每渲染完成一個優先級的業務組件,即基于該完成渲染的業務組件相應輸出部分界面信息。
本例子中,基于該完成渲染的業務組件相應輸出的部分界面信息,可以是與該業務組件對應的輔助功能對應的界面信息,例如:待配置的界面為直播界面時,彈幕功能對應的業務組件完成渲染時,基于該完成渲染的業務組件相應輸出彈幕功能對應的界面信息。
在其他例子中,單個大業務包括很多的小業務的時候,對應的大的業務組件可能包括多個小業務對應的小組件,此時,也可以對各個小業務對應的小組件劃分優先級,優先執行優先級高的小組件。
由上述實施例可知:在獲取待配置的界面對應的業務組件后,確定出與需要優先輸出的界面信息對應的關鍵組件,并優先渲染所確定的關鍵組件,渲染完關鍵組件完后,即刻基于完成渲染的關鍵組件輸出對應的界面信息。可以不受其他非關鍵的業務組件的渲染過程的限制,優先輸出需要優先輸出的界面信息,及時進行界面呈現,因此,能降低應用響應用戶進入界面的請求后所進行的響應操作時長,提高界面配置效率的同時,降低用戶等待界面呈現的時間。
此外,本申請實施例還可以并行執行界面配置的各類配置操作,進一步提高界面配置效率,降低用戶等待界面配置的時長,將本申請實施例應用于移動終端內直播界面的配置時,可以將界面效率提高150%以上,用戶進入直播界面的響應時長降低到1秒以內,達到秒進直播間的效果,有效提高直播應用的用戶體驗。
與前述界面配置方法的實施例相對應,本申請還提供了界面配置裝置的實施例。
本申請界面配置裝置的實施例可以應用在終端上。裝置實施例可以通過軟件實現,也可以通過硬件或者軟硬件結合的方式實現。以軟件實現為例,作為一個邏輯意義上的裝置,是通過其所在終端的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖4所示,為本申請界面配置裝置所在終端的一種硬件結構圖,除了圖4所示的處理器410、網絡接口420、內存430、以及非易失性存儲器440之外,實施例中裝置所在的終端通常根據該終端的實際功能,還可以包括其他硬件,對此不再贅述。
上述處理器可以被配置為:獲取待配置的界面對應的業務組件;從獲取的業務組件中確定關鍵組件,其中,所述關鍵組件與需要優先輸出的界面信息對應;在渲染獲取的業務組件時,優先渲染所確定的關鍵組件;在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的界面信息。
參見圖5,圖5是本申請界面配置裝置的一個實施例框圖,該裝置可包括:業務組件獲取模塊510、關鍵組件確定模塊520、關鍵組件渲染模塊530和界面信息輸出模塊540。
其中,業務組件獲取模塊510,用于獲取待配置的界面對應的業務組件。
關鍵組件確定模塊520,用于從獲取的業務組件中確定關鍵組件,其中,所述關鍵組件與需要優先輸出的界面信息對應。
關鍵組件渲染模塊530,用于在渲染獲取的業務組件時,優先渲染所確定的關鍵組件。
界面信息輸出模塊540,用于在所確定的關鍵組件完成渲染時,基于完成渲染的關鍵組件輸出對應的界面信息。
在一個可選的實現方式中,本申請實施例的界面配置裝置還可以包括(圖5中未示出):
第一提示模塊,用于在預設的界面輸出事件發生后,輸出用于提示用戶界面正在配置中的提示信息。
第一轉換模塊,用于將用于實現界面配置的各串行操作劃分為多組并行操作,其中一組并行操作包括獲取待配置的界面對應的業務組件,其中另一組并行操作包括渲染獲取的業務組件。
第一處理模塊,用于調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
在另一個可選的實現方式中,所述待配置的界面為待配置的直播界面,所述直播界面的主功能包括直播功能,所述關鍵組件包括視頻組件,所述直播界面的輔助功能包括以下至少一項:
彈幕功能、公屏功能、虛擬禮物功能、點贊功能。
在另一個可選的實現方式中,所述并行操作為以下操作中任一項:
直播頻道協議的發送操作、直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作。
在另一個可選的實現方式中,本申請實施例的界面配置裝置還可以包括(圖5中未示出):
頻道協議發送模塊,用于在預設的界面輸出事件發生后,向直播服務器發送直播頻道協議。
第二提示模塊,用于輸出用于提示用戶界面正在配置中的提示信息。
第二轉換模塊,用于將以下六項串行操作劃分為六組并行操作:
直播視頻流的加載操作、直播視頻流的解碼操作、直播視頻流的綁定操作、業務組件的獲取操作、業務組件的渲染操作、界面信息的輸出操作。
第二處理模塊,用于調用本地的各線程對各組并行操作進行并行處理,一個線程處理一組并行操作。
參見圖6,圖6是本申請界面配置裝置的另一個實施例框圖,該裝置可包括:業務組件獲取模塊610、關鍵組件確定模塊620、關鍵組件渲染模塊630和界面信息輸出模塊640,關鍵組件確定模塊620包括優先級確定模塊621和組件確定子模塊622,關鍵組件渲染模塊630包括順序渲染模塊631,界面信息輸出模塊640包括第一輸出模塊641。
其中,業務組件獲取模塊610,用于獲取待配置的界面對應的業務組件。
優先級確定模塊621,用于確定所獲取的各業務組件的優先級。
組件確定子模塊622,用于將優先級高于預設級別的業務組件,確定為關鍵組件,所述關鍵組件與需要優先輸出的界面信息對應。
順序渲染模塊631,用于在渲染獲取的業務組件時,優先按照優先級從高到底的順序渲染各關鍵組件。
第一輸出模塊641,用于在每渲染完成一個優先級的關鍵組件后,基于該完成渲染的關鍵組件相應輸出部分界面信息。
在一個可選實現方式中,本申請實施例的順序渲染模塊631包括(圖6中未示出):
主線程渲染模塊,用于在渲染獲取的業務組件時,調用主線程優先按照優先級從高到底的順序渲染各關鍵組件。
本申請實施例的界面配置裝置還可以包括(圖6中未示出):
子線程渲染模塊,用于調用子線程按照優先級從高到低的順序渲染其他業務組件。
第二輸出模塊,用于在每渲染完成一個優先級的業務組件后,基于該完成渲染的業務組件相應輸出部分界面信息。
在一個可選實現方式中,本申請實施例的優先級確定模塊621可以包括(圖6中未示出):
主功能組件選取模塊,用于從所獲取的各業務組件中選取與所述待配置的界面的主功能匹配的組件。
最高級組件確定模塊,用于將選取的組件確定為優先級別最高的業務組件。
在另一個可選實現方式中,與所述待配置的界面的主功能匹配的組件存放在父容器內。
上述裝置中各個模塊的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網絡模塊上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本申請方案的目的。
本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。本領域技術人員在考慮說明書及實踐這里公開的發明后,將容易想到本申請的其它實施方案。本申請旨在涵蓋本申請的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本申請的一般性原理并包括本申請未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本申請的真正范圍和精神由下面的權利要求指出。
應當理解的是,本申請并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本申請的范圍僅由所附的權利要求來限制。