欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用戶界面渲染方法及裝置與流程

文檔序號:12747807閱讀:408來源:國知局
用戶界面渲染方法及裝置與流程

本發(fā)明涉及計算機技術領域,更具體地,涉及一種用戶界面渲染方法及裝置。



背景技術:

現(xiàn)有的用戶界面的渲染的方式多種多樣,不同的渲染引擎所對應的渲染步驟不盡相同,在渲染的處理速度以及對產(chǎn)品性能的影響上更是各有差異。

但在普遍的用戶界面渲染過程中,往往是通過一條主線程完成渲染的整個過程。這種用戶界面渲染方式,使得主線程的任務量增多,所占用的CPU的運算量較多,對CPU的性能要求較高。特別是在處理多來源多類型的大量數(shù)據(jù)量時,由于其所占用的大量的CPU的運算,用戶界面渲染的過程不夠順暢,進行造成相應的產(chǎn)品出現(xiàn)卡頓,甚至更嚴重的話,則會使智能設備黑屏或者死機,影響用戶的體驗。

因此,業(yè)界亟需一種方法或裝置,以有效地解決上述問題。



技術實現(xiàn)要素:

本發(fā)明的目的旨在解決上述技術的至少一個缺陷,特別是如何減少用戶界面渲染過程中的CPU開銷。

第一方面,本發(fā)明提供了一種用戶界面渲染方法,包括:

獲取與用戶界面渲染有關的數(shù)據(jù)信息;

創(chuàng)建至少一個數(shù)據(jù)處理線程,對數(shù)據(jù)層中的所述數(shù)據(jù)信息進行過濾和/或加工處理;

將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層二次處理并包裝成渲染用戶界面所需要的UI信息;

將所述UI信息發(fā)送到渲染線程,渲染相應的用戶界面。

具體地,獲取與用戶界面渲染有關的數(shù)據(jù)信息的步驟中,包括:

接收來自服務器的數(shù)據(jù)信息;

獲取與用戶界面渲染有關的所述數(shù)據(jù)信息。

具體地,創(chuàng)建至少一個數(shù)據(jù)處理線程,對數(shù)據(jù)層中的所述數(shù)據(jù)信息進行過濾和/或加工處理的步驟中,對應包括:

在數(shù)據(jù)層創(chuàng)建一個數(shù)據(jù)過濾線程,根據(jù)預先的設定對所述數(shù)據(jù)信息進行過濾;

以及和/或:

創(chuàng)建一個數(shù)據(jù)加工線程,對已過濾的所述數(shù)據(jù)信息進行解析包裝。

具體地,將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層加工處理并包裝成渲染用戶界面所需要的UI信息的步驟中,包括:

將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層;

調用主線程的至少一個數(shù)據(jù)處理線程,對所述數(shù)據(jù)信息進行二次處理并包裝渲染成用戶界面所需要的UI信息。

具體地,將所述UI信息發(fā)送到渲染線程,渲染相應的用戶界面的步驟中,包括:

將所述UI信息以數(shù)據(jù)包的形式發(fā)送到渲染線程;

根據(jù)所述UI信息,渲染相應的用戶界面。

優(yōu)選地,所述UI信息包括用戶界面中的圖文內容、用戶界面的呈現(xiàn)形式、用戶界面的各組件的位置以及用戶界面的各組件的大小。

優(yōu)選地,對所述數(shù)據(jù)信息進行解析包裝的內容包括:根據(jù)所述數(shù)據(jù)信息的類型,提供不同的數(shù)據(jù)處理類對所述數(shù)據(jù)信息進行解析包裝。

具體地,還包括:

調用垃圾回收的操作,釋放系統(tǒng)資源。

具體地,還包括:

將所述渲染結果放入緩存以便當接收到針對所述數(shù)據(jù)信息的渲染指示時,從所述緩存中讀取出所述渲染結果。

第二方面,本發(fā)明提供了一種用戶界面渲染裝置,包括:

獲取模塊,用于獲取與用戶界面渲染有關的數(shù)據(jù)信息;

數(shù)據(jù)處理模塊,用于創(chuàng)建至少一個數(shù)據(jù)處理線程,對數(shù)據(jù)層中的所述數(shù)據(jù)信息進行過濾和/或加工處理;

發(fā)送模塊,用于將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層二次處理并包裝成渲染用戶界面所需要的UI信息;

渲染模塊,用于將所述UI信息發(fā)送到渲染線程,渲染相應的用戶界面。

具體地,所述獲取模塊被配置為:

接收來自服務器的數(shù)據(jù)信息;

獲取與用戶界面渲染有關的所述數(shù)據(jù)信息。

具體地,所述數(shù)據(jù)處理模塊被配置為:

在數(shù)據(jù)層創(chuàng)建一個數(shù)據(jù)過濾線程,根據(jù)預先的設定對所述數(shù)據(jù)信息進行過濾;

以及和/或:

創(chuàng)建一個數(shù)據(jù)加工線程,對已過濾的所述數(shù)據(jù)信息進行解析包裝。

具體地,所述發(fā)送模塊被配置為:

將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層;

調用主線程的至少一個數(shù)據(jù)處理線程,對所述數(shù)據(jù)信息進行二次處理并包裝渲染成用戶界面所需要的UI信息。

所述渲染模塊被配置為:

將所述UI信息以數(shù)據(jù)包的形式發(fā)送到渲染線程;

根據(jù)所述UI信息,渲染相應的用戶界面。

優(yōu)選地,所述UI信息包括用戶界面中的圖文內容、用戶界面的呈現(xiàn)形式、用戶界面的各組件的位置以及用戶界面的各組件的大小。

優(yōu)選地,對所述數(shù)據(jù)信息進行解析包裝的內容包括:根據(jù)所述數(shù)據(jù)信息的類型,提供不同的數(shù)據(jù)處理類對所述數(shù)據(jù)信息進行解析包裝。

具體地,還包括:

調用模塊,用于調用垃圾回收的操作,釋放系統(tǒng)資源。

具體地,還包括:

讀取模塊,用于將所述渲染結果放入緩存以便當接收到針對所述數(shù)據(jù)信息的渲染指示時,從所述緩存中讀取出所述渲染結果。

跟現(xiàn)有技術相比,本發(fā)明的技術方案所具有的優(yōu)點包括:

1.本發(fā)明通過在數(shù)據(jù)層創(chuàng)建子線程對所獲取到的與用戶界面渲染有關的數(shù)據(jù)信息進行處理,所述子線程所涉及到的邏輯基本是數(shù)據(jù)層的,故此時并不阻礙主線程的UI渲染,減少了主線程所占用的CPU的開銷,從而提升了產(chǎn)品的流暢度,帶給用戶更好的體驗。

2.本發(fā)明還在視圖層對來自數(shù)據(jù)層的數(shù)據(jù)信息進行加工處理,將這些數(shù)據(jù)信息按照渲染的各個元素類型進行分類包裝,然后打包丟給主線程,主線程根據(jù)這些信息直接渲染用戶界面即可,優(yōu)化了渲染的過程,提升了渲染的性能,有助于提升產(chǎn)品的流暢度。同時由于這些運算處理的邏輯是在視圖層的子線程完成的,進一步節(jié)省了渲染過程中CPU的開銷,從而進一步提升了產(chǎn)品運行的流暢度。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1示出了本發(fā)明用戶界面渲染方法的一種實施例的流程框圖;

圖2示出了本發(fā)明用戶界面渲染裝置的一種實施例的結構示意圖;

圖3示出了應用本發(fā)明用戶界面渲染方法的終端設備的結構示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述。

在本發(fā)明的說明書和權利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個操作,但是應該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來執(zhí)行或并行執(zhí)行,操作的序號如101、102等,僅僅是用于區(qū)分開各個不同的操作,序號本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。

本領域普通技術人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復數(shù)形式。應該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關聯(lián)的列出項的全部或任一單元和全部組合。

本領域普通技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語),具有與本發(fā)明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現(xiàn)有技術的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。

本領域普通技術人員可以理解,本發(fā)明所涉及的名詞的含義至少包括:

用戶界面(User Interface):簡稱UI,亦稱使用者界面,是系統(tǒng)與用戶之間進行交互和信息交換的媒介,它實現(xiàn)信息的內部形式與人類可以接受形式之間的轉換。用戶界面是介于用戶與硬件而設計彼此之間交互溝通相關軟件,目的在使得用戶能夠方便有效率地去操作硬件以達成雙向之交互,完成所希望借助硬件完成之工作。用戶界面定義廣泛,包含了人機交互與圖形用戶接口,凡參與人類與機械的信息交流的領域都存在著用戶界面。例如:現(xiàn)在網(wǎng)絡上的視屏直播間、YY、微信、以及各種應用程序的操作界面。

線程(Thread):有時也被稱為輕量級進程(Lightweight Process,LWP),是程序執(zhí)行流的最小單元。一個標準的線程有線程ID、當前指令指針、寄存器集合以及堆棧組成。另外,線程是進程中的一個實體,是被系統(tǒng)獨立調度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個線程的其它進程共享進程所擁有的資源。一個線程可以創(chuàng)建和撤銷另一個線程,同一進程中的多個進程之間可以并發(fā)執(zhí)行。由于線程之間的相互制約,致使線程在運行中呈現(xiàn)出間斷性。線程也有就緒、阻塞和運行三種基本狀態(tài)。就緒狀態(tài)是指線程具備運行的所有條件,邏輯上可以運行,在等待處理機;運行狀態(tài)是指線程占有處理機正在運行;阻塞狀態(tài)是指線程在等待一個事件(如某一個信號量),邏輯上不可執(zhí)行。每一個程序都至少有一個線程,若程序只有一個線程,那就是程序本身。其中,當一個程序啟動時,就有一個進程被操作系統(tǒng)創(chuàng)建,與此同時一個線程也立刻運行,該線程通常叫做程序的主線程。而子線程一般是指為了完成某個特殊的任務,并行于主線程的其他線程。

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

如圖1所示,提供了本發(fā)明用戶界面渲染方法的一種實施例的流程圖,其包括步驟S11-S14:

S11.獲取與用戶界面渲染有關的數(shù)據(jù)信息。

具體地,步驟S11中,包括:

接收來自服務器的數(shù)據(jù)信息;

獲取與用戶界面渲染有關的所述數(shù)據(jù)信息。

信息數(shù)據(jù)網(wǎng)絡的時代,人們基本使用著智能設備通過數(shù)據(jù)網(wǎng)絡與外界進行信息交互,例如通過瀏覽器關注時事新聞、與朋友在社交性應用程序上進行聯(lián)系、參與網(wǎng)絡視頻直播娛樂等。人們使用智能設備接入數(shù)據(jù)網(wǎng)絡進行信息交互的過程中,必然會接收來自外界的數(shù)據(jù)信息,從而在自己的智能設備的用戶界面上進行更新顯示。

例如,用戶啟動智能設備進入系統(tǒng)的用戶操作界面,打開應用程序,通過數(shù)據(jù)網(wǎng)絡與外界信息進行信息交互。為了實現(xiàn)數(shù)據(jù)的更新,本機設備必然會接收來自某服務器的數(shù)據(jù)信息。在本發(fā)明的一種實施例中,用戶打開應用程序、數(shù)據(jù)網(wǎng)頁、視頻播放網(wǎng)頁等,接收了來自服務器的數(shù)據(jù)信息,對應的,在這些數(shù)據(jù)信息當中,存在著不同功能的數(shù)據(jù)信息,而其中與用戶界面渲染有關的數(shù)據(jù)信息在傳輸?shù)倪^程中,會被識別出來從而被獲取,從而進行處理加工。

具體地,還包括:

調用垃圾回收的操作,釋放系統(tǒng)資源。

例如,在獲取與用戶界面渲染有關的數(shù)據(jù)信息之前,調用垃圾回收的操作,釋放系統(tǒng)資源,減少由于智能設備的系統(tǒng)資源過度被占用而造成的卡頓,運行過慢的現(xiàn)象。同時,對一些正在運行的、不必要的相關數(shù)據(jù)進行回收,有利于提高其它線程運行的流暢度??梢岳斫獾氖牵{用垃圾回收的操作是獨立的操作,其并不依賴于當前的程序運行的進度或者線程對數(shù)據(jù)信息的處理進度。它通過預先的設置得以實現(xiàn),可以在當前程序運行進度或者線程對數(shù)據(jù)信息的處理進度的某一環(huán)節(jié)觸發(fā),從而釋放系統(tǒng)的資源。

S12.創(chuàng)建至少一個數(shù)據(jù)處理線程,對數(shù)據(jù)層中的所述數(shù)據(jù)信息進行過濾和/或加工處理。

具體地,創(chuàng)建至少一個數(shù)據(jù)處理線程,對數(shù)據(jù)層中的所述數(shù)據(jù)信息進行過濾和/或加工處理的步驟中,對應包括:

在數(shù)據(jù)層創(chuàng)建一個數(shù)據(jù)過濾線程,根據(jù)預先的設定對所述數(shù)據(jù)信息進行過濾;

以及和/或:

創(chuàng)建一個數(shù)據(jù)加工線程,對已過濾的所述數(shù)據(jù)信息進行解析包裝。

在通信鏈路中進行傳輸?shù)臄?shù)據(jù)信息的功能、類型是多種多樣的,所獲取到的與用戶界面渲染有關的數(shù)據(jù)信息的功能及類型同樣也是多種多樣的。例如,其中有些數(shù)據(jù)信息是違反國家法律法規(guī)被屏蔽的而無法在用戶界面上進行展示,有些數(shù)據(jù)信息是只在后臺進行操作而不需在用戶界面上進行展示的,有些數(shù)據(jù)信息則是無效的。這種數(shù)據(jù)信息的存在,如果通過在主線程上進行渲染處理,主線程在對這些數(shù)據(jù)進行篩選過濾或者加工處理的過程中占用CPU的開銷。當這種數(shù)據(jù)信息的存在數(shù)量較多時,則會占用大量的CPU開銷,從而降低對當前的用戶界面渲染的過程造成影響,降低其渲染的效率,以及其對應的程序運行的流暢度。當然地,智能設備上各種軟件運行的流暢度也會有一定的影響,破壞用戶的體驗。

本發(fā)明中,在用戶界面渲染所對應的主線程中,通過創(chuàng)建至少一個子線程對數(shù)據(jù)進行加工處理。通過調用該子程序,從而實現(xiàn)對在數(shù)據(jù)層傳輸?shù)乃鰯?shù)據(jù)信息進行對應的處理。一種實施例中,在數(shù)據(jù)層創(chuàng)建一個數(shù)據(jù)過濾線程,將無法在用戶界面上展示的、無效的、當前情景不適合展示的數(shù)據(jù)信息進行一個過濾,從而減少主線程渲染的數(shù)據(jù)量,減少CPU的開銷。另一種實施例中,也可以創(chuàng)建數(shù)據(jù)加工線程,對所述數(shù)據(jù)信息進行加工處理。因為用戶界面數(shù)據(jù)類型多樣化,可以進行分類包裝等多種操作。進一步的,可以在同一個實施例中同時創(chuàng)建數(shù)據(jù)過濾線程以及數(shù)據(jù)處理加工線程,對在數(shù)據(jù)層傳輸?shù)乃鰯?shù)據(jù)信息進行對應的操作處理。其中,所述數(shù)據(jù)過濾線程、數(shù)據(jù)加工處理線程所涉及的邏輯都是在數(shù)據(jù)層面的,而這些邏輯基本都在子線程進行,此時并不阻礙到主線程的用戶界面渲染的操作,這就意味著,其減少了主線程所占用的CPU的開銷,保證了渲染過程的流暢度,提高了用戶的體驗。

優(yōu)選地,對所述數(shù)據(jù)信息進行解析包裝的內容包括:根據(jù)所述數(shù)據(jù)信息的類型,提供不同的數(shù)據(jù)處理類對所述數(shù)據(jù)信息進行解析包裝。

例如,用戶界面的數(shù)據(jù)信息是多樣化的,但這些數(shù)據(jù)是有規(guī)律可尋的,可按照一定的標準對這些數(shù)據(jù)進行劃分。在這樣的前提下,提供不同的數(shù)據(jù)處理類對所獲取到的用戶界面渲染相關的數(shù)據(jù)提前按照用戶界面展示的各個元素或者組件的區(qū)別或者結構體的不同,進行封裝打包處理。這種預處理的操作,將原本由主線程處理的內容承包下來進行分散處理,減少了主線程的任務量,相應的,減少了主線程在這方面的CPU開銷,有利于用戶界面渲染的順利進行以及對應的產(chǎn)品的流暢度。

S13.將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層二次處理并包裝成渲染用戶界面所需要的UI信息。

具體地,將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層加工處理并包裝成渲染用戶界面所需要的UI信息的步驟中,包括:

將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層;

調用主線程的至少一個數(shù)據(jù)處理線程,對所述數(shù)據(jù)信息進行二次處理并包裝渲染成用戶界面所需要的UI信息。

在本發(fā)明的實施例中,所獲取的與用戶界面渲染有關的數(shù)據(jù)信息,在數(shù)據(jù)層中,已經(jīng)經(jīng)過了至少一個子線程的處理。這種處理的效果是明顯的,它減少了主線程的任務量,節(jié)省了主線程所占用的CPU開銷。但這種處理是不徹底的,有所欠缺的,需要對這些加工過的數(shù)據(jù)進一步的處理,使得這種處理的優(yōu)勢得到進一步的提升。故此,在將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層時,在視圖層會對這些數(shù)據(jù)進行再次的處理,即二次處理。在本發(fā)明的一種實施例中,這種二次處理通過再次創(chuàng)建子線程的方式,對所述數(shù)據(jù)信息進行加工處理。用戶界面所呈現(xiàn)出來的元素,包括但不限于圖片文字內容、字體排版、按鈕、菜單、列表、對話框、視頻文件等。

應當注意到,用戶界面所呈現(xiàn)來的形式,跟用戶界面在進行信息交互的過程中更新是有所不同的。

優(yōu)選地,所述UI信息包括用戶界面中的圖文內容、用戶界面的呈現(xiàn)形式、用戶界面的各組件的位置以及用戶界面的各組件的大小。

S14.將所述UI信息發(fā)送到渲染線程,渲染相應的用戶界面。

具體地,將所述UI信息發(fā)送到渲染線程,渲染相應的用戶界面的步驟中,包括:

將所述UI信息以數(shù)據(jù)包的形式發(fā)送到渲染線程;

根據(jù)所述UI信息,渲染相應的用戶界面。

具體地,還包括:

將所述渲染結果放入緩存以便當接收到針對所述數(shù)據(jù)信息的渲染指示時,從所述緩存中讀取出所述渲染結果。

在本發(fā)明的一種實施例中,經(jīng)過了過濾和/或加工處理的與用戶界面渲染有關的數(shù)據(jù)信息發(fā)送到了視圖層經(jīng)過了再次加工,最后是要用于渲染對應的用戶界面的。在視圖層當中,所述UI信息是以數(shù)據(jù)包的形式在通信鏈路中應該注意的是傳輸,然后由渲染線程根據(jù)所述的UI信息渲染所述的用戶界面。這里所述的渲染線程可以是指中心渲染進程,即主線程,其直接調用渲染引擎根據(jù)所述UI信息執(zhí)行渲染;也可以是中心渲染進程所創(chuàng)建或所調動的渲染線程,即子線程,由該子線程調用渲染引擎完成渲染操作。

可以理解的是,由于在一個用戶界面處于被操作的狀態(tài)時,與外界的信息交互是比較頻繁的。同時,由于用戶界面所展示出來的形式是比較穩(wěn)定、不多變的,在渲染的過程中,存在需要重復同樣的渲染結果。故此,將渲染結果暫時放入緩存,以便當再次接收到對所述數(shù)據(jù)信息的渲染指示時,可以從緩存中讀取出所述渲染結果,從而實現(xiàn)渲染結果的復用,降低了渲染的計算量。

圖2則示出了本發(fā)明用戶界面渲染裝置的一種實施例的結構示意圖,該用戶界面渲染裝置包括:獲取模塊S101、數(shù)據(jù)處理模塊S102、發(fā)送模塊S103以及渲染模塊S104。

獲取模塊S101,用于獲取與用戶界面渲染有關的數(shù)據(jù)信息。

具體地,所述獲取模塊S101被配置為:

接收來自服務器的數(shù)據(jù)信息;

獲取與用戶界面渲染有關的所述數(shù)據(jù)信息。

信息數(shù)據(jù)網(wǎng)絡的時代,人們基本使用著智能設備通過數(shù)據(jù)網(wǎng)絡與外界進行信息交互,例如通過瀏覽器關注時事新聞、與朋友在社交性應用程序上進行聯(lián)系、參與網(wǎng)絡視頻直播娛樂等。人們使用智能設備接入數(shù)據(jù)網(wǎng)絡進行信息交互的過程中,必然會接收來自外界的數(shù)據(jù)信息,從而在自己的智能設備的用戶界面上進行更新顯示。

例如,用戶啟動智能設備進入系統(tǒng)的用戶操作界面,打開應用程序,通過數(shù)據(jù)網(wǎng)絡與外界信息進行信息交互。為了實現(xiàn)數(shù)據(jù)的更新,本機設備必然會接收來自某服務器的數(shù)據(jù)信息。在本發(fā)明的一種實施例中,用戶打開應用程序、數(shù)據(jù)網(wǎng)頁、視頻播放網(wǎng)頁等,接收了來自服務器的數(shù)據(jù)信息,對應的,在這些數(shù)據(jù)信息當中,存在著不同功能的數(shù)據(jù)信息,而其中與用戶界面渲染有關的數(shù)據(jù)信息在傳輸?shù)倪^程中,會被識別出來從而被獲取,從而進行處理加工。

具體地,還包括:

調用模塊,用于調用垃圾回收的操作,釋放系統(tǒng)資源。

例如,在獲取與用戶界面渲染有關的數(shù)據(jù)信息之前,調用垃圾回收的操作,釋放系統(tǒng)資源,減少由于智能設備的系統(tǒng)資源過度被占用而造成的卡頓,運行過慢的現(xiàn)象。同時,對一些正在運行的、不必要的相關數(shù)據(jù)進行回收,有利于提高其它線程運行的流暢度??梢岳斫獾氖?,調用垃圾回收的操作是獨立的操作,其并不依賴于當前的程序運行的進度或者線程對數(shù)據(jù)信息的處理進度。它通過預先的設置得以實現(xiàn),可以在當前程序運行進度或者線程對數(shù)據(jù)信息的處理進度的某一環(huán)節(jié)觸發(fā),從而釋放系統(tǒng)的資源。

數(shù)據(jù)處理模塊S102,用于創(chuàng)建至少一個數(shù)據(jù)處理線程,對數(shù)據(jù)層中的所述數(shù)據(jù)信息進行過濾和/或加工處理。

具體地,所述數(shù)據(jù)處理模塊S102被配置為:

在數(shù)據(jù)層創(chuàng)建一個數(shù)據(jù)過濾線程,根據(jù)預先的設定對所述數(shù)據(jù)信息進行過濾;

以及和/或:

創(chuàng)建一個數(shù)據(jù)加工線程,對已過濾的所述數(shù)據(jù)信息進行解析包裝。

在通信鏈路中進行傳輸?shù)臄?shù)據(jù)信息的功能、類型是多種多樣的,所獲取到的與用戶界面渲染有關的數(shù)據(jù)信息的功能及類型同樣也是多種多樣的。例如,其中有些數(shù)據(jù)信息是違反國家法律法規(guī)被屏蔽的而無法在用戶界面上進行展示,有些數(shù)據(jù)信息是只在后臺進行操作而不需在用戶界面上進行展示的,有些數(shù)據(jù)信息則是無效的。這種數(shù)據(jù)信息的存在,如果通過在主線程上進行渲染處理,主線程在對這些數(shù)據(jù)進行篩選過濾或者加工處理的過程中占用CPU的開銷。當這種數(shù)據(jù)信息的存在數(shù)量較多時,則會占用大量的CPU開銷,從而降低對當前的用戶界面渲染的過程造成影響,降低其渲染的效率,以及其對應的程序運行的流暢度。當然地,智能設備上各種軟件運行的流暢度也會有一定的影響,破壞用戶的體驗。

本發(fā)明中,在用戶界面渲染所對應的主線程中,通過創(chuàng)建至少一個子線程對數(shù)據(jù)進行加工處理。通過調用該子程序,從而實現(xiàn)對在數(shù)據(jù)層傳輸?shù)乃鰯?shù)據(jù)信息進行對應的處理。一種實施例中,在數(shù)據(jù)層創(chuàng)建一個數(shù)據(jù)過濾線程,將無法在用戶界面上展示的、無效的、當前情景不適合展示的數(shù)據(jù)信息進行一個過濾,從而減少主線程渲染的數(shù)據(jù)量,減少CPU的開銷。另一種實施例中,也可以創(chuàng)建數(shù)據(jù)加工線程,對所述數(shù)據(jù)信息進行加工處理。因為用戶界面數(shù)據(jù)類型多樣化,可以進行分類包裝等多種操作。進一步的,可以在同一個實施例中同時創(chuàng)建數(shù)據(jù)過濾線程以及數(shù)據(jù)處理加工線程,對在數(shù)據(jù)層傳輸?shù)乃鰯?shù)據(jù)信息進行對應的操作處理。其中,所述數(shù)據(jù)過濾線程、數(shù)據(jù)加工處理線程所涉及的邏輯都是在數(shù)據(jù)層面的,而這些邏輯基本都在子線程進行,此時并不阻礙到主線程的用戶界面渲染的操作,這就意味著,其減少了主線程所占用的CPU的開銷,保證了渲染過程的流暢度,提高了用戶的體驗。

優(yōu)選地,對所述數(shù)據(jù)信息進行解析包裝的內容包括:根據(jù)所述數(shù)據(jù)信息的類型,提供不同的數(shù)據(jù)處理類對所述數(shù)據(jù)信息進行解析包裝。

例如,用戶界面的數(shù)據(jù)信息是多樣化的,但這些數(shù)據(jù)是有規(guī)律可尋的,可按照一定的標準對這些數(shù)據(jù)進行劃分。在這樣的前提下,提供不同的數(shù)據(jù)處理類對所獲取到的用戶界面渲染相關的數(shù)據(jù)提前按照用戶界面展示的各個元素或者組件的區(qū)別或者結構體的不同,進行封裝打包處理。這種預處理的操作,將原本由主線程處理的內容承包下來進行分散處理,減少了主線程的任務量,相應的,減少了主線程在這方面的CPU開銷,有利于用戶界面渲染的順利進行以及對應的產(chǎn)品的流暢度。

發(fā)送模塊S103,用于將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層二次處理并包裝成渲染用戶界面所需要的UI信息。

具體地,所述發(fā)送模塊S103被配置為:

將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層;

調用主線程的至少一個數(shù)據(jù)處理線程,對所述數(shù)據(jù)信息進行二次處理并包裝渲染成用戶界面所需要的UI信息。

在本發(fā)明的實施例中,所獲取的與用戶界面渲染有關的數(shù)據(jù)信息,在數(shù)據(jù)層中,已經(jīng)經(jīng)過了至少一個子線程的處理。這種處理的效果是明顯的,它減少了主線程的任務量,節(jié)省了主線程所占用的CPU開銷。但這種處理是不徹底的,有所欠缺的,需要對這些加工過的數(shù)據(jù)進一步的處理,使得這種處理的優(yōu)勢得到進一步的提升。故此,在將已過濾和/或加工處理過的所述數(shù)據(jù)信息發(fā)送到視圖層時,在視圖層會對這些數(shù)據(jù)進行再次的處理,即二次處理。在本發(fā)明的一種實施例中,這種二次處理通過再次創(chuàng)建子線程的方式,對所述數(shù)據(jù)信息進行加工處理。用戶界面所呈現(xiàn)出來的元素,包括但不限于圖片文字內容、字體排版、按鈕、菜單、列表、對話框、視頻文件等。

應當注意到,用戶界面所呈現(xiàn)來的形式,跟用戶界面在進行信息交互的過程中更新是有所不同的。

優(yōu)選地,所述UI信息包括用戶界面中的圖文內容、用戶界面的呈現(xiàn)形式、用戶界面的各組件的位置以及用戶界面的各組件的大小。

渲染模塊S104,用于將所述UI信息發(fā)送到渲染線程,渲染相應的用戶界面。

數(shù)據(jù)信息所述渲染模塊S104被配置為:

將所述UI信息以數(shù)據(jù)包的形式發(fā)送到渲染線程;

根據(jù)所述UI信息,渲染相應的用戶界面。

具體地,還包括:

讀取模塊,用于將所述渲染結果放入緩存以便當接收到針對所述數(shù)據(jù)信息的渲染指示時,從所述緩存中讀取出所述渲染結果。

在本發(fā)明的一種實施例中,經(jīng)過了過濾和/或加工處理的與用戶界面渲染有關的數(shù)據(jù)信息發(fā)送到了視圖層經(jīng)過了再次加工,最后是要用于渲染對應的用戶界面的。在視圖層當中,所述UI信息是以數(shù)據(jù)包的形式在通信鏈路中應該注意的是傳輸,然后由渲染線程根據(jù)所述的UI信息渲染所述的用戶界面。這里所述的渲染線程可以是指中心渲染進程,即主線程,其直接調用渲染引擎根據(jù)所述UI信息執(zhí)行渲染;也可以是中心渲染進程所創(chuàng)建或所調動的渲染線程,即子線程,由該子線程調用渲染引擎完成渲染操作。

可以理解的是,由于在一個用戶界面處于被操作的狀態(tài)時,與外界的信息交互是比較頻繁的。同時,由于用戶界面所展示出來的形式是比較穩(wěn)定、不多變的,在渲染的過程中,存在需要重復同樣的渲染結果。故此,將渲染結果暫時放入緩存,以便當再次接收到對所述數(shù)據(jù)信息的渲染指示時,可以從緩存中讀取出所述渲染結果,從而實現(xiàn)渲染結果的復用,降低了渲染的計算量。

本發(fā)明實施例還提供了一種實體裝置,如圖3所示,為了便于說明,僅示出了與本發(fā)明實施例相關的部分,具體技術細節(jié)未揭示的,請參照本發(fā)明實施例方法部分。該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數(shù)字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設備,以終端為手機為例:

圖3示出的是與本發(fā)明實施例提供的終端相關的手機的部分結構的框圖。參考圖3,手機包括:射頻(Radio Frequency,RF)電路1510、存儲器1520、輸入單元1530、顯示單元1540、傳感器1550、音頻電路1560、無線保真(wireless fidelity,WiFi)模塊1570、處理器1580、以及電源1590等部件。本領域技術人員可以理解,圖3中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。

下面結合圖3對手機的各個構成部件進行具體的介紹:

RF電路1510可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器1580處理;另外,將設計上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路1510包括但不限于天線、至少一個放大器、收發(fā)信機、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路1510還可以通過無線通信與網(wǎng)絡和其他設備通信。上述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無線服務(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(Long Term Evolution,LTE)、電子郵件、短消息服務(Short Messaging Service,SMS)等。

存儲器1520可用于存儲軟件程序以及模塊,處理器1580通過運行存儲在存儲器1520的軟件程序以及模塊,從而執(zhí)行手機的各種功能應用以及數(shù)據(jù)處理。存儲器1520可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器1520可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。

輸入單元1530可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元1530可包括觸控面板1531以及其他輸入設備1532。觸控面板1531,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1531上或在觸控面板1531附近的操作),并根據(jù)預先設定的程式驅動相應的連接裝置??蛇x的,觸控面板1531可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器1580,并能接收處理器1580發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板1531。除了觸控面板1531,輸入單元1530還可以包括其他輸入設備1532。具體地,其他輸入設備1532可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。

顯示單元1540可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元1540可包括顯示面板1541,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板1541。進一步的,觸控面板1531可覆蓋顯示面板1541,當觸控面板1531檢測到在其上或附近的觸摸操作后,傳送給處理器1580以確定觸摸事件的類型,隨后處理器1580根據(jù)觸摸事件的類型在顯示面板1541上提供相應的視覺輸出。雖然在圖3中,觸控面板1531與顯示面板1541是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板1531與顯示面板1541集成而實現(xiàn)手機的輸入和輸出功能。

手機還可包括至少一種傳感器1550,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調節(jié)顯示面板1541的亮度,接近傳感器可在手機移動到耳邊時,關閉顯示面板1541和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應用(比如橫豎屏切換、相關游戲、磁力計姿態(tài)校準)、振動識別相關功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。

音頻電路1560、揚聲器1561,傳聲器1562可提供用戶與手機之間的音頻接口。音頻電路1560可將接收到的音頻數(shù)據(jù)轉換后的電信號,傳輸?shù)綋P聲器1561,由揚聲器1561轉換為聲音信號輸出;另一方面,傳聲器1562將收集的聲音信號轉換為電信號,由音頻電路1560接收后轉換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器1580處理后,經(jīng)RF電路1510以發(fā)送給比如另一手機,或者將音頻數(shù)據(jù)輸出至存儲器1520以便進一步處理。

WiFi屬于短距離無線傳輸技術,手機通過WiFi模塊1570可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖3示出了WiFi模塊1570,但是可以理解的是,其并不屬于手機的必須構成,完全可以根據(jù)需要在不改變發(fā)明的本質的范圍內而省略。

處理器1580是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器1520內的軟件程序和/或模塊,以及調用存儲在存儲器1520內的數(shù)據(jù),執(zhí)行手機的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控??蛇x的,處理器1580可包括一個或多個處理單元;優(yōu)選的,處理器1580可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器1580中。

手機還包括給各個部件供電的電源1590(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器1580邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。

盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。

所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。

本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。

以上對本發(fā)明所提供的一種實體裝置進行了詳細介紹,對于本領域的一般技術人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
襄垣县| 榆林市| 渝中区| 涞源县| 长顺县| 平潭县| 宝丰县| 北流市| 汕头市| 阳东县| 安化县| 南城县| 清苑县| 萨迦县| 建阳市| 朝阳区| 龙州县| 台前县| 阿拉善盟| 固阳县| 常宁市| 沙雅县| 江永县| 汉川市| 金阳县| 开鲁县| 波密县| 苍溪县| 双流县| 仪征市| 梅河口市| 新巴尔虎左旗| 乐东| 大宁县| 马关县| 芦溪县| 福安市| 正阳县| 巫溪县| 全州县| 尉氏县|