本申請(qǐng)涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種頁(yè)面代碼的處理方法、裝置及設(shè)備。
背景技術(shù):
隨著數(shù)據(jù)處理技術(shù)的不斷發(fā)展,越來(lái)越多的數(shù)據(jù)都可以通過(guò)可視化處理的方法,以圖片或者文字的形式向用戶(hù)展現(xiàn)。
當(dāng)前,在終端設(shè)備的顯示屏上顯示的各種各樣的頁(yè)面往往是通過(guò)對(duì)頁(yè)面代碼進(jìn)行處理得到的。所述頁(yè)面代碼往往按照一定的規(guī)則進(jìn)行編寫(xiě),當(dāng)終端設(shè)備中的處理器對(duì)編寫(xiě)的頁(yè)面代碼進(jìn)行運(yùn)算后,便可以將該頁(yè)面代碼中包含的圖片、文字或者視頻等信息顯示于終端設(shè)備的顯示屏上,以供用戶(hù)觀看。
目前,提供給終端設(shè)備的處理器進(jìn)行處理的目標(biāo)頁(yè)面的頁(yè)面代碼例如可以包括名稱(chēng)為c1的容器以及名稱(chēng)為c2的容器,其中,c2容器可以嵌套于c1容器中,在c2容器中可以填充圖片(image)和文字(text)這兩個(gè)元素。當(dāng)然,目標(biāo)頁(yè)面的代碼中還可以包括更多個(gè)容器,這些容器往往可以通過(guò)嵌套的方式進(jìn)行設(shè)置。這樣設(shè)置的目的在于,可以通過(guò)一個(gè)容器對(duì)嵌套于該容器內(nèi)的其它容器的排列方式進(jìn)行限定,例如上述的c1容器可以限定在c1容器內(nèi)嵌套的其它容器按照從左往右或者從上到下的順序進(jìn)行排列。
現(xiàn)有技術(shù)中在對(duì)上述例子中目標(biāo)頁(yè)面的頁(yè)面代碼進(jìn)行處理時(shí),首先可以將c1容器渲染至終端設(shè)備的顯示屏上,在該c1容器內(nèi),可以繼續(xù)渲染c2容器,在c2容器內(nèi)則可以渲染image和text的內(nèi)容。其中,盡管c1容器和c2容器被渲染至顯示屏上,但在實(shí)際應(yīng)用中這兩個(gè)容器是不顯示的,因此用戶(hù)僅僅能從終端設(shè)備的顯示屏上觀看到image和text的內(nèi)容。也就是說(shuō),容器可以作為透明的背景,其作用可以理解為用來(lái)為容器內(nèi)顯示的可視化信息(圖片、文字、視頻等)提供布局方式。
上述例舉的頁(yè)面代碼僅僅是為了闡述現(xiàn)有技術(shù)中對(duì)頁(yè)面代碼進(jìn)行處理的方式,在實(shí)際應(yīng)用中,為了在終端設(shè)備的顯示屏上顯示復(fù)雜的頁(yè)面布局,在頁(yè)面代碼中往往可以嵌套非常多的容器。這些容器在渲染到顯示屏上時(shí),盡管不會(huì)被用戶(hù)觀看到,但卻會(huì)占用終端設(shè)備較多的cpu資源和內(nèi)存資源,從而造成在頁(yè)面顯示和頁(yè)面滑動(dòng)的過(guò)程中產(chǎn)生卡頓的現(xiàn)象,影響了用戶(hù)的體驗(yàn)。
應(yīng)該注意,上面對(duì)技術(shù)背景的介紹只是為了方便對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行清楚、完整的 說(shuō)明,并方便本領(lǐng)域技術(shù)人員的理解而闡述的。不能僅僅因?yàn)檫@些方案在本申請(qǐng)的背景技術(shù)部分進(jìn)行了闡述而認(rèn)為上述技術(shù)方案為本領(lǐng)域技術(shù)人員所公知。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施方式的目的在于提供一種頁(yè)面代碼的處理方法、裝置及設(shè)備,以減小對(duì)終端設(shè)備的cpu和內(nèi)存的占用率。
為實(shí)現(xiàn)上述目的,本申請(qǐng)一方面提供一種頁(yè)面代碼的處理方法,所述方法包括:加載目標(biāo)頁(yè)面的頁(yè)面代碼;其中所述頁(yè)面代碼包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,其中所述頁(yè)面布局控件中包括有頁(yè)面元素;確定所述頁(yè)面代碼中頁(yè)面元素的位置信息,形成位置信息集;在終端設(shè)備的屏幕上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及根據(jù)所述位置信息集將所述頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
為實(shí)現(xiàn)上述目的,本申請(qǐng)另一方面提供一種頁(yè)面代碼的處理裝置,所述裝置包括:頁(yè)面代碼加載單元,用于加載目標(biāo)頁(yè)面的頁(yè)面代碼;其中所述頁(yè)面代碼包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,其中所述頁(yè)面布局控件中包括有頁(yè)面元素;位置信息集確定單元,用于確定所述頁(yè)面代碼中頁(yè)面元素的位置信息,形成位置信息集;渲染單元,用于在終端設(shè)備的屏幕上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及根據(jù)所述位置信息集將所述頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
另外,本申請(qǐng)還提供一種頁(yè)面代碼的處理設(shè)備,所述設(shè)備包括:顯示屏幕;存儲(chǔ)器,其用于存儲(chǔ)目標(biāo)頁(yè)面的頁(yè)面代碼;處理器,其從所述存儲(chǔ)器中加載所述目標(biāo)頁(yè)面的頁(yè)面代碼;其中所述頁(yè)面代碼包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,其中所述頁(yè)面布局控件中包括有頁(yè)面元素;確定所述頁(yè)面代碼中頁(yè)面元素的位置信息,形成位置信息集;在所述顯示屏幕上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及根據(jù)所述位置信息集將所述頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
由以上本申請(qǐng)實(shí)施方式提供的技術(shù)方案可見(jiàn),本申請(qǐng)?jiān)诮K端設(shè)備的屏幕上最終只會(huì)渲染預(yù)設(shè)頁(yè)面布局控件和頁(yè)面代碼中的頁(yè)面元素,對(duì)于頁(yè)面代碼中多余的頁(yè)面布局控件可以不進(jìn)行渲染,從而降低了終端設(shè)備的cpu和內(nèi)存的占用率,使得頁(yè)面在加載或者滑動(dòng)時(shí)可以更加順暢,不會(huì)產(chǎn)生卡頓的現(xiàn)象。
參照后文的說(shuō)明和附圖,詳細(xì)公開(kāi)了本申請(qǐng)的特定實(shí)施方式,指明了本申請(qǐng)的原理可以被采用的方式。應(yīng)該理解,本申請(qǐng)的實(shí)施方式在范圍上并不因而受到限制。在所附權(quán)利要求的精神和條款的范圍內(nèi),本申請(qǐng)的實(shí)施方式包括許多改變、修改和等同。
針對(duì)一種實(shí)施方式描述和/或示出的特征可以以相同或類(lèi)似的方式在一個(gè)或更多個(gè)其它實(shí)施方式中使用,與其它實(shí)施方式中的特征相組合,或替代其它實(shí)施方式中的特征。
應(yīng)該強(qiáng)調(diào),術(shù)語(yǔ)“包括/包含”在本文使用時(shí)指特征、整件、步驟或組件的存在,但并不排除一個(gè)或更多個(gè)其它特征、整件、步驟或組件的存在或附加。
附圖說(shuō)明
所包括的附圖用來(lái)提供對(duì)本申請(qǐng)實(shí)施方式的進(jìn)一步的理解,其構(gòu)成了說(shuō)明書(shū)的一部分,用于例示本申請(qǐng)的實(shí)施方式,并與文字描述一起來(lái)闡釋本申請(qǐng)的原理。顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:
圖1為本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理方法流程圖;
圖2為本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理方法中通過(guò)起始坐標(biāo)確定位置信息集步驟的流程圖;
圖3為本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理方法中通過(guò)距離信息確定位置信息集步驟的流程圖;
圖4為本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理方法中渲染預(yù)設(shè)頁(yè)面布局控件步驟的流程圖;
圖5為本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理裝置的功能模塊圖;
圖6為本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理設(shè)備的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施方式中的附圖,對(duì)本申請(qǐng)實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本申請(qǐng)一部分實(shí)施方式,而不是全部的實(shí)施方式?;诒旧暾?qǐng)中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施方式,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
請(qǐng)參閱圖1。圖1為本申請(qǐng)實(shí)施例方式提供的一種頁(yè)面代碼的處理方法流程圖。如圖1所示,所述方法可以包括以下步驟。
步驟s11:加載目標(biāo)頁(yè)面的頁(yè)面代碼;其中所述頁(yè)面代碼包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,其中所述頁(yè)面布局控件中包括有頁(yè)面元素。
在本實(shí)施方式中,可以通過(guò)終端設(shè)備的cpu對(duì)頁(yè)面代碼進(jìn)行處理,以確定所述頁(yè)面代碼中的頁(yè)面元素在終端設(shè)備的屏幕上的位置。所述終端設(shè)備可以為移動(dòng)智能電話、計(jì)算機(jī)(包括筆記本電腦,臺(tái)式電腦)、平板電子設(shè)備、個(gè)人數(shù)字助理(pda)或者智能可穿戴設(shè)備等具備數(shù)據(jù)處理功能的終端設(shè)備。
在本實(shí)施方式中,所述頁(yè)面代碼可以包含于在終端設(shè)備中運(yùn)行的應(yīng)用程序內(nèi)。所述應(yīng)用 程序例如可以為手機(jī)淘寶、支付寶、手機(jī)天貓等。所述應(yīng)用程序可以通過(guò)用戶(hù)操作頁(yè)面與終端設(shè)備的用戶(hù)進(jìn)行交互。所述用戶(hù)操作頁(yè)面可以向用戶(hù)展示頁(yè)面信息,并且可以從用戶(hù)處獲取用戶(hù)下達(dá)的操作指令。例如在手機(jī)淘寶的用戶(hù)操作頁(yè)面上,可以向用戶(hù)展示多個(gè)商品或者店鋪的圖片或者文字。用戶(hù)通過(guò)終端設(shè)備的觸摸屏或者鼠標(biāo)等指令輸入設(shè)備,可以向手機(jī)淘寶下達(dá)觸控指令。在本實(shí)施方式中,當(dāng)目標(biāo)頁(yè)面的內(nèi)容需要被顯示于終端設(shè)備的屏幕上時(shí),終端設(shè)備的cpu可以對(duì)該目標(biāo)頁(yè)面對(duì)應(yīng)的頁(yè)面代碼進(jìn)行處理。具體地,所述目標(biāo)頁(yè)面的頁(yè)面代碼可以按照預(yù)設(shè)的路徑存儲(chǔ)于所述應(yīng)用程序中,所述預(yù)設(shè)的路徑例如可以指向所述應(yīng)用程序的預(yù)設(shè)文件夾。所述終端設(shè)備的cpu可以通過(guò)所述預(yù)設(shè)的路徑,對(duì)該預(yù)設(shè)的路徑指向的文件夾中的內(nèi)容進(jìn)行讀取,從而完成對(duì)所述目標(biāo)頁(yè)面對(duì)應(yīng)的頁(yè)面代碼的加載過(guò)程。
在本實(shí)施方式中,所述終端設(shè)備的cpu從應(yīng)用程序內(nèi)加載目標(biāo)頁(yè)面的頁(yè)面代碼后,從而可以對(duì)加載的頁(yè)面代碼進(jìn)行處理,將頁(yè)面代碼中編輯的信息通過(guò)圖片或者文字等可視化的方式呈現(xiàn)給用戶(hù),從而形成了在用戶(hù)操作頁(yè)面上顯示的頁(yè)面信息。
在本實(shí)施方式中,所述頁(yè)面代碼中往往包含頁(yè)面布局控件和頁(yè)面元素,其中,所述頁(yè)面元素可以為圖片、文字、視頻、按鈕等需要在終端設(shè)備的屏幕上展示給用戶(hù)觀看的信息,同時(shí),所述頁(yè)面元素還可以包括用戶(hù)顯示視頻的插件或者用于顯示圖片的插件等,這些插件盡管不會(huì)被用戶(hù)觀看到,但其也可以通過(guò)隱藏顯示的方式存在于目標(biāo)頁(yè)面中。所述頁(yè)面布局控件則可以視為盛放所述頁(yè)面元素的容器,也就是說(shuō),所述頁(yè)面元素可以被約束于某個(gè)頁(yè)面布局控件中,而一個(gè)頁(yè)面布局控件也可以約束于另一個(gè)頁(yè)面布局控件中。例如,在一個(gè)頁(yè)面代碼的例子中,可以包括具備嵌套關(guān)系的第一頁(yè)面布局控件和第二頁(yè)面布局控件,其中所述第一頁(yè)面布局控件在頁(yè)面代碼中定義的名稱(chēng)可以為c1,第二頁(yè)面布局控件在頁(yè)面代碼中定義的名稱(chēng)可以為c2。在該頁(yè)面代碼中,c2頁(yè)面布局控件嵌套于c1頁(yè)面布局控件中,在c2頁(yè)面布局控件中包含image和text這兩個(gè)頁(yè)面元素。這樣,上述頁(yè)面代碼中的image和text可以被約束于c2頁(yè)面布局控件中,而c2頁(yè)面布局控件則可以被約束于c1頁(yè)面布局控件中。在本實(shí)施方式中,在所述頁(yè)面代碼中可以包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,例如上述的c1頁(yè)面布局控件和c2頁(yè)面布局控件。
步驟s13:確定所述頁(yè)面代碼中頁(yè)面元素的位置信息,形成位置信息集。
在本實(shí)施方式中,所述頁(yè)面布局控件和所述頁(yè)面元素往往具備對(duì)應(yīng)的參數(shù),其中,所述頁(yè)面布局控件的參數(shù)可以限定頁(yè)面布局控件中頁(yè)面元素的排列規(guī)則,所述排列規(guī)則可以通過(guò)預(yù)先規(guī)定的字符串以及預(yù)先規(guī)定的書(shū)寫(xiě)規(guī)則進(jìn)行編寫(xiě),所述排列規(guī)則可以包括從左向右橫向排列或者從上到下縱向排列。例如,在步驟s11中所述的頁(yè)面代碼的例子中,c2頁(yè)面布局控件的參數(shù)可以為style=”flex-derection:row;”,其中,”flex-derection:row”可以為預(yù)先規(guī)定的與 從左向右橫向排列相對(duì)應(yīng)的字符串,將該字符串銜接于style=之后,便可以構(gòu)成與預(yù)先規(guī)定的書(shū)寫(xiě)規(guī)則一致的短句,該短句便可以被終端設(shè)備的cpu進(jìn)行識(shí)別,并且終端設(shè)備的cpu可以根據(jù)該短句對(duì)c2頁(yè)面布局控件中的頁(yè)面元素image和text進(jìn)行從左向右橫向排列。
在本實(shí)施方式中,所述頁(yè)面布局控件的參數(shù)還可以在終端設(shè)備的屏幕上劃定顯示區(qū)域。終端設(shè)備屏幕上的顯示區(qū)域可以通過(guò)像素點(diǎn)來(lái)表示。例如,終端設(shè)備的屏幕上具有1024*768個(gè)像素點(diǎn),這些像素點(diǎn)可以呈行列分布,也就是說(shuō),該終端設(shè)備的屏幕上可以有1024行像素條,每行像素條中均有768個(gè)像素點(diǎn),這樣就在終端設(shè)備的屏幕上構(gòu)成了1024*768個(gè)像素點(diǎn)。由于當(dāng)前終端設(shè)備的屏幕往往為矩形,因此頁(yè)面布局控件的參數(shù)在終端設(shè)備的屏幕上劃定的顯示區(qū)域也往往為矩形區(qū)域。通過(guò)在頁(yè)面布局控件的參數(shù)中注明矩形區(qū)域四個(gè)頂點(diǎn)位置處的像素點(diǎn),便可以確定該矩形區(qū)域的大小。
此外,在本實(shí)施方式中,所述終端設(shè)備屏幕上的顯示區(qū)域還可以通過(guò)設(shè)置顯示區(qū)域到屏幕邊框的距離來(lái)確定。所述屏幕邊框可以包括屏幕的上邊框、下邊框、左邊框以及右邊框,到所述屏幕邊框的距離可以利用毫米或者吋等長(zhǎng)度單位來(lái)表示。例如,所述終端設(shè)備屏幕上的某個(gè)顯示區(qū)域的位置可以表示為:到上邊框的距離為5毫米,到左邊框的距離為3毫米,到右邊框的距離為4毫米,到下邊框的距離為3毫米,假設(shè)該終端設(shè)備屏幕的整體大小為:上下邊框均為20毫米,左右邊框均為50毫米,那么該顯示區(qū)域的位置則可以限制在長(zhǎng)為42毫米,寬為13毫米的矩形區(qū)域內(nèi)。也就是說(shuō),通過(guò)設(shè)置到終端設(shè)備屏幕的四個(gè)邊框的距離,也可以在所述終端設(shè)備的屏幕上確定顯示區(qū)域的范圍。
再者,在本實(shí)施方式中,還可以?xún)H僅設(shè)置到所述終端設(shè)備屏幕的一個(gè)邊框的距離來(lái)確定顯示區(qū)域的范圍,到所述終端設(shè)備屏幕的其它邊框的距離可以進(jìn)行缺省。例如,顯示區(qū)域到終端設(shè)備屏幕的左邊框的距離為5毫米,而顯示區(qū)域到終端設(shè)備的上邊框、下邊框以及右邊框的距離均進(jìn)行了缺省,在這種情況下,可是視為所述顯示區(qū)域的左邊框到終端設(shè)備屏幕的左邊框的距離為5毫米,而所述顯示區(qū)域的其它邊框可以與終端設(shè)備的上邊框、下邊框以及右邊框?qū)?yīng)重合。例如,終端設(shè)備的上下邊框均為20毫米,左右邊框均為50毫米,那么該顯示區(qū)域的位置可以限制在長(zhǎng)為50毫米,寬為15毫米的矩形區(qū)域內(nèi),也就是說(shuō),顯示區(qū)域的左邊框到終端設(shè)備屏幕的左邊框的距離為5毫米,而所述顯示區(qū)域的其它邊框可以與終端設(shè)備的上邊框、下邊框以及右邊框?qū)?yīng)重合。通過(guò)這樣的方法,也可以確定顯示區(qū)域在終端設(shè)備的屏幕上的范圍。
需要說(shuō)明的是,如果頁(yè)面布局控件的參數(shù)中沒(méi)有注明用于在終端設(shè)備的屏幕上劃定顯示區(qū)域的參數(shù),例如上述的頁(yè)面代碼中,c1頁(yè)面布局控件和c2頁(yè)面布局控件的參數(shù)中可以沒(méi)有注明像素點(diǎn)或者距離值,此時(shí)則默認(rèn)該頁(yè)面布局控件劃定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏 幕。也就是說(shuō),上述頁(yè)面代碼中c1頁(yè)面布局控件和c2頁(yè)面布局控件劃定的顯示區(qū)域均為終端設(shè)備的整個(gè)屏幕。
在本實(shí)施方式中,所述頁(yè)面元素的參數(shù)可以包括頁(yè)面元素的尺寸、鏈接或者顏色中的至少一種,也就是說(shuō),所述頁(yè)面元素的參數(shù)可以限定頁(yè)面元素在終端設(shè)備的屏幕上的顯示方式。例如,在步驟s11中所述的頁(yè)面代碼的例子中,image的尺寸可以由寬(width)和高(height)限定,所述image的寬(width)可以為200像素,高(height)可以為200像素,這樣,當(dāng)所述image顯示于終端設(shè)備的屏幕上時(shí),便可以占據(jù)寬為200像素,高為200像素的矩形區(qū)域。另外,在上述的頁(yè)面代碼中,text中文字的顏色(color)可以為紅色(#ff0000),文字的尺寸(font-size)可以為48磅并且文字可以加粗(bold),這樣,根據(jù)text中文字的尺寸、字?jǐn)?shù)以及是否加粗,便可以決定text中的文字在終端設(shè)備的屏幕上占據(jù)的區(qū)域。例如,假設(shè)text中每個(gè)文字的大小均相同并且均加粗,每個(gè)文字在終端設(shè)備的屏幕上所占的矩形區(qū)域可以為40像素*40像素,那么該text中如果共計(jì)10個(gè)文字,那么該text在終端設(shè)備的屏幕上所占的矩形區(qū)域便可以為40像素*400像素。
在本實(shí)施方式中,通過(guò)頁(yè)面布局控件的參數(shù),可以確定該頁(yè)面布局控件在終端設(shè)備的屏幕上劃定的顯示區(qū)域以及頁(yè)面元素在該顯示區(qū)域中的排列方式。通過(guò)頁(yè)面元素的參數(shù),便可以確定頁(yè)面元素的尺寸,從而可以確定頁(yè)面元素在終端設(shè)備的屏幕上實(shí)際顯示的位置。例如,在上述頁(yè)面代碼中,c1頁(yè)面布局控件劃定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏幕,c2頁(yè)面布局控件嵌套于c1頁(yè)面布局控件中,劃定的顯示區(qū)域也為終端設(shè)備的整個(gè)屏幕,而在c2頁(yè)面布局控件中具有image和text這兩個(gè)頁(yè)面元素,這兩個(gè)頁(yè)面元素的排列方式由c2頁(yè)面布局控件的style參數(shù)決定,即從左向右橫向排列。由image和text的參數(shù)可見(jiàn),image的寬和高均為200像素,text中文字的顏色為紅色(#ff0000),文字的尺寸(font-size)為48磅并且文字被加粗(bold)。那么根據(jù)這些參數(shù),首先可以確定image在終端設(shè)備的顯示屏幕上所占的矩形區(qū)域,該矩形區(qū)域位于終端設(shè)備屏幕的左上角,其面積為200像素*200像素;接著,text中的文字所占的矩形區(qū)域可以位于image所占矩形區(qū)域的右側(cè),text中的文字所占的矩形區(qū)域可以通過(guò)text中文字的尺寸、字?jǐn)?shù)以及是否加粗來(lái)決定。例如,假設(shè)text中每個(gè)文字的大小均相同并且均加粗,每個(gè)文字在終端設(shè)備的屏幕上所占的矩形區(qū)域可以為40像素*40像素,那么該text中如果共計(jì)10個(gè)文字,那么該text中的文字在終端設(shè)備的屏幕上所占的矩形區(qū)域便可以為40像素*400像素。也就是說(shuō),該text中的文字在終端設(shè)備的屏幕上所占的矩形區(qū)域位于image所占的矩形區(qū)域的右側(cè),其面積為40像素*400像素。
由上可見(jiàn),在本實(shí)施方式中,根據(jù)頁(yè)面代碼中頁(yè)面布局控件的參數(shù)以及頁(yè)面元素的參數(shù),可以確定所述頁(yè)面代碼中的頁(yè)面元素在終端設(shè)備的屏幕上的位置信息。在本實(shí)施方式中,所 述頁(yè)面元素在終端設(shè)備的屏幕上占據(jù)的區(qū)域往往為矩形區(qū)域,那么所述頁(yè)面元素的位置信息可以為所述矩形區(qū)域左上角頂點(diǎn)的坐標(biāo),當(dāng)所述矩形區(qū)域左上角頂點(diǎn)的坐標(biāo)確定后,便可以根據(jù)所述頁(yè)面布局控件的參數(shù)限定的排列方式以及所述頁(yè)面元素的參數(shù)限定的區(qū)域大小,確定所述矩形區(qū)域在終端設(shè)備的屏幕上的實(shí)際位置。例如,所述矩形區(qū)域左上角頂點(diǎn)的坐標(biāo)為(3,5),所述頁(yè)面布局控件的參數(shù)限定的排列方式為從左向右橫向排列,所述頁(yè)面元素的參數(shù)限定的區(qū)域大小為長(zhǎng)200像素,寬150像素,那么該矩形區(qū)域右上角頂點(diǎn)可以為(203,5),左下角頂點(diǎn)可以為(3,155),右下角頂點(diǎn)可以為(203,155),這樣,該矩形區(qū)域在終端設(shè)備屏幕上的實(shí)際位置便可以由這四個(gè)頂點(diǎn)的坐標(biāo)來(lái)確定。在本實(shí)施方式中,所述矩形區(qū)域左上角頂點(diǎn)的坐標(biāo)可以為所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo)。通過(guò)確定所述頁(yè)面元素的起始坐標(biāo),便可以確定所述頁(yè)面元素在終端設(shè)備屏幕上的實(shí)際位置。因此,在本實(shí)施方式中,可以將將得到的所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo)作為所述頁(yè)面元素的位置信息。
在本實(shí)施方式中,由于一個(gè)矩形區(qū)域可以被該矩形區(qū)域中相對(duì)的兩個(gè)頂點(diǎn)確定,因此在本實(shí)施方式中,所述位置信息集中還可以包括所述頁(yè)面元素在所述終端設(shè)備的屏幕上的終止坐標(biāo)。所述起始坐標(biāo)可以為頁(yè)面元素在終端設(shè)備的屏幕上所占的矩形區(qū)域的左上頂點(diǎn)位置處的坐標(biāo),而所述終止坐標(biāo)可以為所述矩形區(qū)域右下頂點(diǎn)位置處的坐標(biāo),這樣,所述起始坐標(biāo)和所述終止坐標(biāo)在所述終端設(shè)備的屏幕上限定的矩形區(qū)域便可以為所述頁(yè)面元素在所述終端設(shè)備的屏幕上所占的區(qū)域,所述起始坐標(biāo)和所述終止坐標(biāo)為所述矩形區(qū)域的兩個(gè)相對(duì)的頂點(diǎn)的坐標(biāo)。
在本實(shí)施方式中,所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩形區(qū)域還可以通過(guò)該矩形區(qū)域到終端設(shè)備的屏幕邊框的距離來(lái)確定。例如,所述屏幕邊框可以包括屏幕的上邊框、下邊框、左邊框以及右邊框,到所述屏幕邊框的距離可以利用毫米或者吋等長(zhǎng)度單位來(lái)表示。例如,所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩形區(qū)域可以表示為:到上邊框的距離為5毫米,到左邊框的距離為3毫米,到右邊框的距離為4毫米,到下邊框的距離為3毫米,假設(shè)該終端設(shè)備屏幕的整體大小為:上下邊框均為20毫米,左右邊框均為50毫米,那么該矩形區(qū)域的位置則可以限制在長(zhǎng)為42毫米,寬為13毫米的矩形區(qū)域內(nèi)。也就是說(shuō),通過(guò)確定到終端設(shè)備的屏幕邊框的距離,也可以在所述終端設(shè)備的屏幕上確定頁(yè)面元素所占的矩形區(qū)域的范圍。因此,在本實(shí)施方式中,所述頁(yè)面元素的位置信息也可以包括所述頁(yè)面元素到終端設(shè)備的屏幕邊框的距離。需要說(shuō)明的是,所述頁(yè)面元素到終端設(shè)備的屏幕邊框的距離可以包括所述頁(yè)面元素到終端設(shè)備的屏幕的至少一個(gè)邊框的距離。例如,在本實(shí)施方式中,可以?xún)H僅設(shè)置到所述終端設(shè)備屏幕的一個(gè)邊框的距離來(lái)確定所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩 形區(qū)域的范圍,到所述終端設(shè)備屏幕的其它邊框的距離可以進(jìn)行缺省。例如,所述頁(yè)面元素到終端設(shè)備屏幕的左邊框的距離為5毫米,到終端設(shè)備的上邊框、下邊框以及右邊框的距離均進(jìn)行了缺省,在這種情況下,可以視為所述頁(yè)面元素的左邊框到終端設(shè)備屏幕的左邊框的距離為5毫米,而所述頁(yè)面元素的其它邊框可以與終端設(shè)備的上邊框、下邊框以及右邊框?qū)?yīng)重合。例如,終端設(shè)備的上下邊框均為20毫米,左右邊框均為50毫米,那么該頁(yè)面元素的位置可以限制在長(zhǎng)為50毫米,寬為15毫米的矩形區(qū)域內(nèi),也就是說(shuō),頁(yè)面元素的左邊框到終端設(shè)備屏幕的左邊框的距離為5毫米,而所述頁(yè)面元素的其它邊框可以與終端設(shè)備的上邊框、下邊框以及右邊框?qū)?yīng)重合。通過(guò)這樣的方法,也可以確定頁(yè)面元素在終端設(shè)備的屏幕上所占矩形區(qū)域的范圍。
在本實(shí)施方式中,所述位置信息可以通過(guò)數(shù)組的方式進(jìn)行表示,所述數(shù)組中可以包括頁(yè)面元素標(biāo)識(shí)以及所述頁(yè)面元素的位置標(biāo)識(shí)。其中,所述頁(yè)面元素標(biāo)識(shí)可以按照頁(yè)面元素的類(lèi)型以及頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序來(lái)進(jìn)行確定。例如,在頁(yè)面代碼中包括圖片和文字這兩種類(lèi)型的頁(yè)面元素,其中,圖片類(lèi)型的頁(yè)面元素有3個(gè),文字類(lèi)型的頁(yè)面元素有兩個(gè),那么根據(jù)頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序,可以將第一個(gè)圖片類(lèi)型的頁(yè)面元素的標(biāo)識(shí)確定為image1,依次類(lèi)推,第二個(gè)和第三個(gè)圖片類(lèi)型的頁(yè)面元素的標(biāo)識(shí)可以確定為image2和image3,而文字類(lèi)型的兩個(gè)頁(yè)面元素的標(biāo)識(shí)可以分別為text1和text2。所述頁(yè)面元素的位置標(biāo)識(shí)即可以為上述的頁(yè)面元素的起止坐標(biāo)或者所述頁(yè)面元素的起始坐標(biāo)和終止坐標(biāo)或者所述頁(yè)面元素到終端設(shè)備的屏幕邊框的距離中的至少一個(gè)。具體地,所述數(shù)組的表達(dá)形式可以為{頁(yè)面元素標(biāo)識(shí),頁(yè)面元素的位置標(biāo)識(shí)}。例如,對(duì)于頁(yè)面代碼中的第二個(gè)圖片類(lèi)型的頁(yè)面元素,其在終端設(shè)備的屏幕上的起始坐標(biāo)為(10,20),那么該頁(yè)面元素的位置信息可以表示為{image2,(10,20)}。
在本實(shí)施方式中,當(dāng)確定了各個(gè)頁(yè)面元素的位置信息后,可以將確定的位置信息構(gòu)成位置信息集。具體地,所述位置信息集中的位置信息可以通過(guò)堆棧的方式進(jìn)行存儲(chǔ)。其中,堆(heap)中的位置信息可以遵循先進(jìn)先出的原則進(jìn)行存儲(chǔ)和讀取,那么在通過(guò)堆(heap)的方式對(duì)所述位置信息集中的位置信息進(jìn)行存儲(chǔ)時(shí),可以按照頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序,對(duì)頁(yè)面元素的位置信息依次存儲(chǔ)。這樣,在對(duì)頁(yè)面元素的位置信息進(jìn)行讀取時(shí),讀取的順序與頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序是一致的。例如,所述位置信息集中包括頁(yè)面元素image的位置信息和頁(yè)面元素text的位置信息,所述頁(yè)面元素image位于所述頁(yè)面元素text之前,那么通過(guò)堆的方式對(duì)這兩個(gè)頁(yè)面元素的位置信息進(jìn)行存儲(chǔ)時(shí),可以先存儲(chǔ)image的位置信息,再存儲(chǔ)text的位置信息,這樣在后續(xù)從位置信息集中讀取位置信息時(shí),便可以先讀取image的位置信息,再讀取text的位置信息。而通過(guò)棧(stack)的方式對(duì)所述位置信息集 中的位置信息進(jìn)行存儲(chǔ)時(shí),由于棧中的位置信息可以遵循先進(jìn)后出的原則進(jìn)行存儲(chǔ)和讀取,因此可以按照頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序,對(duì)頁(yè)面元素的位置信息進(jìn)行反序存儲(chǔ)。這樣,在對(duì)頁(yè)面元素的位置信息進(jìn)行讀取時(shí),讀取的順序與頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序也可以保持一致。同樣以上述的image和text這兩個(gè)頁(yè)面元素為例,在通過(guò)棧的方式對(duì)這兩個(gè)頁(yè)面元素的位置信息進(jìn)行存儲(chǔ)時(shí),可以先存儲(chǔ)text的位置信息,再存儲(chǔ)image的位置信息,這樣根據(jù)先進(jìn)后出的原則,在后續(xù)從位置信息集中讀取位置信息時(shí),便可以先讀取image的位置信息,再讀取text的位置信息。
另外,在本實(shí)施方式中,所述位置信息集中的位置信息還可以通過(guò)樹(shù)形結(jié)構(gòu)的方式進(jìn)行存儲(chǔ)。具體地,所述樹(shù)形結(jié)構(gòu)中的各個(gè)位置信息可以根據(jù)頁(yè)面元素在頁(yè)面代碼中出現(xiàn)的順序從上到下依次排列。例如,所述位置信息集中包括頁(yè)面元素image的位置信息和頁(yè)面元素text的位置信息,所述頁(yè)面元素image位于所述頁(yè)面元素text之前,那么通過(guò)樹(shù)形結(jié)構(gòu)的方式對(duì)這兩個(gè)頁(yè)面元素的位置信息進(jìn)行存儲(chǔ)時(shí),可以在樹(shù)形結(jié)構(gòu)的頂部存儲(chǔ)image的位置信息,在所述image的位置信息下方可以存儲(chǔ)text的位置信息。這樣,在對(duì)所述位置信息集中的位置信息進(jìn)行讀取時(shí),可以根據(jù)樹(shù)形結(jié)構(gòu)的排列順序,依次讀取所述樹(shù)形結(jié)構(gòu)中的各個(gè)位置信息。
步驟s15:在終端設(shè)備的屏幕上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及根據(jù)所述位置信息集將所述頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
在現(xiàn)有技術(shù)中往往將頁(yè)面代碼中出現(xiàn)的頁(yè)面布局控件均在終端設(shè)備的屏幕上進(jìn)行渲染,從而使得終端設(shè)備的cpu和內(nèi)存被過(guò)度占用,以致在頁(yè)面加載和頁(yè)面滑動(dòng)時(shí)產(chǎn)生頓卡的現(xiàn)象。為了避免這種影響用戶(hù)體驗(yàn)的情況發(fā)生,在本實(shí)施方式中可以將頁(yè)面代碼中各個(gè)頁(yè)面元素在終端設(shè)備的屏幕上所占的位置信息預(yù)先確定出來(lái),從而可以將頁(yè)面元素與頁(yè)面布局控件相脫離,以減少在終端設(shè)備的屏幕上進(jìn)行渲染的頁(yè)面布局控件的數(shù)量。具體的,在本實(shí)施方式中,在確定出頁(yè)面代碼中各個(gè)頁(yè)面元素在終端設(shè)備的屏幕上所占的位置信息后,可以預(yù)先確定至少一個(gè)預(yù)設(shè)頁(yè)面布局控件。所述預(yù)設(shè)頁(yè)面布局控件可以為所述頁(yè)面代碼中的頁(yè)面布局控件,也可以是另外指定的頁(yè)面布局控件,本申請(qǐng)對(duì)此并不做限定。
在本實(shí)施方式中,對(duì)所述預(yù)設(shè)頁(yè)面布局控件進(jìn)行渲染,可以指對(duì)所述預(yù)設(shè)頁(yè)面布局控件的代碼進(jìn)行分析,從而確定所述預(yù)設(shè)頁(yè)面布局控件在終端設(shè)備的屏幕上限定的顯示區(qū)域,然后將該顯示區(qū)域在終端設(shè)備的屏幕上進(jìn)行顯示的過(guò)程。對(duì)所述頁(yè)面元素進(jìn)行渲染,可以指從步驟s13中確定出的位置信息集中讀取各個(gè)頁(yè)面元素對(duì)應(yīng)的位置信息,并根據(jù)所述位置信息確定頁(yè)面元素在終端設(shè)備的屏幕上的實(shí)際位置,從而將該頁(yè)面元素顯示于終端設(shè)備的屏幕上的過(guò)程。
在本實(shí)施方式中,所述預(yù)設(shè)頁(yè)面布局控件中可以包括所述頁(yè)面代碼中的頁(yè)面元素,這樣, 所述頁(yè)面代碼中的頁(yè)面元素便可以限定于所述預(yù)設(shè)頁(yè)面布局控件中。例如,在步驟s11中所述的頁(yè)面代碼的例子中,在c1頁(yè)面布局控件中嵌套了c2頁(yè)面布局控件,由于這兩個(gè)頁(yè)面布局控件的參數(shù)中均沒(méi)有對(duì)顯示區(qū)域進(jìn)行限定,因此這兩個(gè)頁(yè)面布局控件在終端設(shè)備的屏幕上限定的顯示區(qū)域均為整個(gè)屏幕,也就是說(shuō),盡管c2頁(yè)面布局控件嵌套于c1頁(yè)面布局控件內(nèi),但實(shí)際上這兩個(gè)頁(yè)面布局控件在終端設(shè)備的屏幕上限定的顯示區(qū)域是相同的。在c2頁(yè)面布局控件中包含有image和text這兩個(gè)頁(yè)面元素,那么在將image和text顯示于終端設(shè)備的屏幕上時(shí),并不需要將c1頁(yè)面布局控件和c2頁(yè)面布局控件均在終端設(shè)備的屏幕上進(jìn)行渲染,由于這兩個(gè)頁(yè)面布局控件中均包含了該頁(yè)面代碼中所有的頁(yè)面元素(image和text),那么便可以從c1頁(yè)面布局控件和c2頁(yè)面布局控件中選擇一個(gè)在終端設(shè)備的屏幕上進(jìn)行渲染,從而減少在渲染過(guò)程中對(duì)終端設(shè)備的cpu和內(nèi)存的占用率。
在本實(shí)施方式中,所述預(yù)設(shè)頁(yè)面布局控件中可以包括頁(yè)面代碼中的頁(yè)面元素,例如上述的c1頁(yè)面布局控件和c2頁(yè)面布局控件中均包括該頁(yè)面代碼中的頁(yè)面元素(image和text),因此c1頁(yè)面布局控件和c2頁(yè)面布局控件均可以作為所述預(yù)設(shè)頁(yè)面布局控件。然而某些頁(yè)面代碼中,不同的頁(yè)面布局控件可以包括不同的頁(yè)面元素。例如,在某個(gè)頁(yè)面代碼中,id為c3的頁(yè)面布局控件限定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏幕,在c3頁(yè)面布局控件中內(nèi)嵌了c4頁(yè)面布局控件和c5頁(yè)面布局控件。其中,c4頁(yè)面布局控件和c5頁(yè)面布局控件將終端設(shè)備的屏幕等分為左半邊屏幕和右半邊屏幕,c4頁(yè)面布局控件限定的顯示區(qū)域可以為終端設(shè)備的左半邊屏幕,c5頁(yè)面布局控件限定的顯示區(qū)域可以為終端設(shè)備的右半邊屏幕。在c4頁(yè)面布局控件中包括頁(yè)面元素image1和text1,在c5頁(yè)面布局控件中包括頁(yè)面元素image2和text2。這樣,在該頁(yè)面代碼中包括3個(gè)頁(yè)面布局控件以及4個(gè)頁(yè)面元素,而只有c3頁(yè)面布局控件中包括該頁(yè)面代碼的所有頁(yè)面元素(image1,text1,image2,text2),c4頁(yè)面布局控件和c5頁(yè)面布局控件均包含該頁(yè)面代碼中的部分頁(yè)面元素,因此在該頁(yè)面代碼中,可以將c3頁(yè)面布局控件作為預(yù)設(shè)頁(yè)面布局控件,還可以將c4和c5這兩個(gè)頁(yè)面布局控件同時(shí)作為預(yù)設(shè)頁(yè)面布局控件,這樣該頁(yè)面代碼中的image1,text1,image2以及text2這4個(gè)頁(yè)面元素就可以在預(yù)設(shè)頁(yè)面布局控件中顯示。
在本實(shí)施方式中,在確定所述頁(yè)面代碼中的頁(yè)面元素在終端設(shè)備的屏幕上的位置信息集以及確定所述預(yù)設(shè)頁(yè)面布局控件之后,便可以在終端設(shè)備的屏幕上渲染所述預(yù)設(shè)頁(yè)面布局控件以及所述頁(yè)面元素。在步驟s11中所述的頁(yè)面代碼的例子中,c1頁(yè)面布局控件作為預(yù)設(shè)頁(yè)面布局控件可以被渲染于終端設(shè)備的屏幕上,c1頁(yè)面布局控件限定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏幕。在c1頁(yè)面布局控件中,頁(yè)面元素image和text被從左向右橫向排列,因此頁(yè)面元素image和text可以根據(jù)在位置信息集中的對(duì)應(yīng)的位置信息,被渲染至所述c1頁(yè)面布局控件 中,從而可以完成對(duì)頁(yè)面代碼的處理過(guò)程。在實(shí)際應(yīng)用場(chǎng)景中,c1頁(yè)面布局控件盡管被渲染至終端設(shè)備的屏幕上,但其并不會(huì)被用戶(hù)查看到,用戶(hù)在終端設(shè)備的屏幕上只會(huì)看到頁(yè)面元素image和text。
由上可見(jiàn),根據(jù)本申請(qǐng)?zhí)峁┑囊环N頁(yè)面代碼的處理方法,在終端設(shè)備的屏幕上最終只會(huì)渲染預(yù)設(shè)頁(yè)面布局控件和頁(yè)面代碼中的頁(yè)面元素,對(duì)于頁(yè)面代碼中多余的頁(yè)面布局控件并不會(huì)進(jìn)行渲染,從而降低了終端設(shè)備的cpu和內(nèi)存的占用率,使得頁(yè)面在加載或者滑動(dòng)時(shí)可以更加順暢,不會(huì)產(chǎn)生卡頓的現(xiàn)象。
在一個(gè)具體的應(yīng)用場(chǎng)景中,在手機(jī)淘寶中的一個(gè)頁(yè)面對(duì)應(yīng)的頁(yè)面代碼中,可以包括具備嵌套關(guān)系的第一頁(yè)面布局控件和第二頁(yè)面布局控件,其中所述第一頁(yè)面布局控件在頁(yè)面代碼中定義的名稱(chēng)可以為c1,第二頁(yè)面布局控件在頁(yè)面代碼中定義的名稱(chēng)可以為c2。在該頁(yè)面代碼中,c2頁(yè)面布局控件嵌套于c1頁(yè)面布局控件中,在c2頁(yè)面布局控件中包含image和text這兩個(gè)頁(yè)面元素。c2頁(yè)面布局控件的參數(shù)可以為style=”flex-derection:row;”,其中,”flex-derection:row”可以為預(yù)先規(guī)定的與從左向右橫向排列相對(duì)應(yīng)的字符串。所述c1頁(yè)面布局控件和c2頁(yè)面布局控件劃定的顯示區(qū)域可以為終端設(shè)備的整個(gè)屏幕。image的寬和高均可以為200像素,text中文字的顏色可以為紅色(#ff0000),文字的尺寸(font-size)可以為48磅并且文字可以被加粗(bold)。
在這種情況下,終端設(shè)備的cpu可以預(yù)先從手機(jī)淘寶中加載該頁(yè)面代碼,在處理該頁(yè)面代碼時(shí),可以預(yù)先確定該頁(yè)面代碼中的頁(yè)面元素image和text在終端設(shè)備的屏幕上的位置信息。具體地,c1頁(yè)面布局控件劃定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏幕,c2頁(yè)面布局控件嵌套于c1頁(yè)面布局控件中,劃定的顯示區(qū)域也為終端設(shè)備的整個(gè)屏幕,而在c2頁(yè)面布局控件中具有image和text這兩個(gè)頁(yè)面元素,這兩個(gè)頁(yè)面元素的排列方式由c2頁(yè)面布局控件的style參數(shù)決定,即從左向右橫向排列。由image和text的參數(shù)可見(jiàn),image的寬和高均為200像素,text中文字的顏色為紅色(#ff0000),文字的尺寸(font-size)為48磅并且文字被加粗(bold),那么根據(jù)這些參數(shù),首先可以確定image在終端設(shè)備的顯示屏幕上所占的矩形區(qū)域,該矩形區(qū)域位于終端設(shè)備屏幕的左上角,其面積為200像素*200像素;接著,text中的文字所占的矩形區(qū)域可以位于image所占矩形區(qū)域的右側(cè),text中的文字所占的矩形區(qū)域可以通過(guò)text中文字的尺寸、字?jǐn)?shù)以及是否加粗來(lái)決定。例如,假設(shè)text中每個(gè)文字的大小均相同并且均加粗,每個(gè)文字在終端設(shè)備的屏幕上所占的矩形區(qū)域可以為40像素*40像素,那么該text中如果共計(jì)10個(gè)文字,那么該text中的文字在終端設(shè)備的屏幕上所占的矩形區(qū)域便可以為40像素*400像素。也就是說(shuō),該text中的文字在終端設(shè)備的屏幕上所占的矩形區(qū)域位于image所占的矩形區(qū)域的右側(cè),其面積為40像素*400像素。
在確定了上述頁(yè)面代碼中頁(yè)面元素image和text在終端設(shè)備的屏幕上的位置信息后,可以從所述頁(yè)面代碼中確定預(yù)設(shè)頁(yè)面布局控件。由于在該頁(yè)面代碼中,c1頁(yè)面布局控件和c2頁(yè)面布局控件中均包括了頁(yè)面元素image和text,因此可以從這兩個(gè)頁(yè)面布局控件中確定任一頁(yè)面布局控件,以作為所述預(yù)設(shè)頁(yè)面布局控件。例如,可以將c1頁(yè)面布局控件確定為預(yù)設(shè)頁(yè)面布局控件,從而可以將c1頁(yè)面布局控件和image、text渲染至終端設(shè)備的屏幕上。其中,c1頁(yè)面布局控件盡管被渲染至終端設(shè)備的屏幕上,但其并不會(huì)被用戶(hù)查看到,用戶(hù)在終端設(shè)備的屏幕上只會(huì)看到頁(yè)面元素image和text。
請(qǐng)參閱圖2,在一個(gè)實(shí)施方式中,頁(yè)面元素在終端設(shè)備的屏幕上占據(jù)的顯示區(qū)域往往為矩形區(qū)域,假設(shè)該矩形區(qū)域的左上角頂點(diǎn)的位置被確定了,便可以根據(jù)頁(yè)面元素的參數(shù),進(jìn)一步確定該矩形區(qū)域所占的范圍。因此,在本實(shí)施方式中,步驟s13具體可以包括以下幾個(gè)步驟。
步驟s31:根據(jù)所述頁(yè)面代碼中所述頁(yè)面布局控件的參數(shù)以及所述頁(yè)面元素的參數(shù),確定所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo);
步驟s33:將得到的所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo)作為所述頁(yè)面元素的位置信息,形成位置信息集。
在本實(shí)施方式中,所述終端設(shè)備屏幕上的每個(gè)像素點(diǎn)可以對(duì)應(yīng)著一個(gè)唯一的坐標(biāo)。通過(guò)該坐標(biāo)便可以對(duì)各個(gè)像素點(diǎn)進(jìn)行定位。目前,由于終端設(shè)備的屏幕往往為矩形,因此像素點(diǎn)在屏幕中的位置可以通過(guò)橫向編號(hào)和縱向編號(hào)來(lái)確定。在本實(shí)施方式中,可以將屏幕左上角的像素點(diǎn)的橫向編號(hào)設(shè)置為1,縱向編號(hào)同樣為1,在橫向方向和縱向方向的編號(hào)可以從1開(kāi)始分別依次遞增。這樣,(1,1)便可以作為屏幕左上角的像素點(diǎn)的坐標(biāo),其中,第一個(gè)1為該像素點(diǎn)的橫向編號(hào),第二個(gè)1為該像素點(diǎn)的縱向編號(hào)。對(duì)于1024*768的屏幕而言,屏幕右下角的像素點(diǎn)的坐標(biāo)可以為(768,1024),屏幕右上角的像素點(diǎn)的坐標(biāo)可以為(768,1),屏幕左下角的像素點(diǎn)的坐標(biāo)可以為(1,1024)。
在本實(shí)施方式中,可以將所述頁(yè)面元素在終端設(shè)備的屏幕上所占的矩形區(qū)域的左上角頂點(diǎn)的坐標(biāo)作為所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo)。具體地,通過(guò)頁(yè)面布局控件的參數(shù),可以確定該頁(yè)面布局控件在終端設(shè)備的屏幕上劃定的顯示區(qū)域以及頁(yè)面元素在該顯示區(qū)域中的排列方式。通過(guò)頁(yè)面元素的參數(shù),便可以確定頁(yè)面元素的尺寸,從而可以確定頁(yè)面元素在終端設(shè)備的屏幕上實(shí)際顯示的位置。例如,在步驟s11中所述的頁(yè)面代碼的例子中,c2頁(yè)面布局控件劃定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏幕,并且該頁(yè)面布局控件中的image和text的排列方式為從左向右橫向排列。在本實(shí)施方式中,image和text在終端設(shè)備的屏幕上所占的區(qū)域均可以為矩形。對(duì)于image而言,其寬為200像素,高也為200像素,因此該image 在終端設(shè)備的屏幕上占據(jù)的是200像素*200像素的矩形區(qū)域。由于c2頁(yè)面布局控件劃定的顯示區(qū)域?yàn)榻K端設(shè)備的整個(gè)屏幕,因此image在終端設(shè)備屏幕上顯示的矩形區(qū)域的左上角像素點(diǎn)可以為(1,1),那么坐標(biāo)(1,1)便可以作為頁(yè)面元素image在終端設(shè)備的屏幕上的起始坐標(biāo)。該image在終端設(shè)備的屏幕上占據(jù)的是200像素*200像素的矩形區(qū)域,并且該image遵循從左向右橫向排列的方式,這樣,在所述頁(yè)面元素對(duì)應(yīng)的起始坐標(biāo)確定后,便可以確定image在終端設(shè)備的屏幕上所占的矩形區(qū)域。
在本實(shí)施方式中,由于c2頁(yè)面布局控件中頁(yè)面元素的排列方式為從左向右橫向排列,因此text的內(nèi)容可以顯示于image的右側(cè)。在上述的頁(yè)面代碼中,text的參數(shù)限定了text中文字的字體大小、字體是否加粗以及字體的顏色和背景色,這樣,可以根據(jù)text中文字的字?jǐn)?shù)、文字的大小以及文字是否加粗,決定text中的文字在終端設(shè)備的屏幕上占據(jù)的區(qū)域。例如,假設(shè)text中每個(gè)文字的大小均相同并且均加粗,每個(gè)文字在終端設(shè)備的屏幕上所占的矩形區(qū)域可以為40像素*40像素,那么該text中如果共計(jì)10個(gè)文字,那么該text在終端設(shè)備的屏幕上所占的矩形區(qū)域便可以為40像素*400像素。由于text的內(nèi)容位于image的右側(cè),因此text在終端設(shè)備屏幕上顯示的矩形區(qū)域的左上角像素點(diǎn)可以為(201,1),那么坐標(biāo)(201,1)便可以作為頁(yè)面元素text在終端設(shè)備的屏幕上的起始坐標(biāo)。再根據(jù)該text在終端設(shè)備的屏幕上所占的矩形區(qū)域?yàn)?0像素*400像素以及從左向右橫向排列的方式,從而可以確定該text的內(nèi)容在終端設(shè)備的屏幕上所占的矩形區(qū)域。
由上可見(jiàn),在本實(shí)施方式中,通過(guò)確定頁(yè)面代碼中的頁(yè)面元素在終端設(shè)備的屏幕上對(duì)應(yīng)的起始坐標(biāo),從而能夠在終端設(shè)備的屏幕上確定頁(yè)面元素在終端設(shè)備的屏幕上所占的矩形區(qū)域。那么,在確定了頁(yè)面代碼中各個(gè)頁(yè)面元素對(duì)應(yīng)的起始坐標(biāo)后,便可以將得到的所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo)作為所述頁(yè)面元素的位置信息,從而可以形成位置信息集。具體地,所述位置信息可以通過(guò)數(shù)組的方式進(jìn)行表示并且所述位置信息集中的位置信息可以通過(guò)堆棧的方式或者樹(shù)形結(jié)構(gòu)的方式進(jìn)行存儲(chǔ),具體的實(shí)現(xiàn)方式與步驟s13中的描述一致,這里便不再贅述。
在一個(gè)實(shí)施方式中,由于一個(gè)矩形區(qū)域可以被該矩形區(qū)域中相對(duì)的兩個(gè)頂點(diǎn)確定,因此在本實(shí)施方式中,所述位置信息集中除了所述起始坐標(biāo)之外,還可以包括所述頁(yè)面元素在所述終端設(shè)備的屏幕上的終止坐標(biāo)。其中,所述起始坐標(biāo)可以為頁(yè)面元素在終端設(shè)備的屏幕上所占的矩形區(qū)域的左上頂點(diǎn)位置處的坐標(biāo),而所述終止坐標(biāo)可以為所述矩形區(qū)域右下頂點(diǎn)位置處的坐標(biāo),這樣,所述起始坐標(biāo)和所述終止坐標(biāo)在所述終端設(shè)備的屏幕上限定的矩形區(qū)域便可以為所述頁(yè)面元素在所述終端設(shè)備的屏幕上所占的區(qū)域,所述起始坐標(biāo)和所述終止坐標(biāo)為所述矩形區(qū)域的兩個(gè)相對(duì)的頂點(diǎn)的坐標(biāo)。具體地,在本實(shí)施方式中,可以根據(jù)所述頁(yè)面元 素的起始坐標(biāo)以及所述頁(yè)面元素的參數(shù),確定所述頁(yè)面元素在終端設(shè)備的屏幕上的終止坐標(biāo)。以步驟s11中的頁(yè)面代碼為例,頁(yè)面顯示元素image的起始坐標(biāo)可以為(1,1),而該image在終端設(shè)備的屏幕上占據(jù)的是200像素*200像素的矩形區(qū)域,那么可以確定該image在終端設(shè)備的屏幕上的終止坐標(biāo)可以為(200,200)。在本實(shí)施方式中,在確定所述頁(yè)面元素在終端設(shè)備的屏幕上的終止坐標(biāo)后,可以將所述起始坐標(biāo)和所述終止坐標(biāo)作為所述頁(yè)面元素的位置信息,從而形成所述頁(yè)面元素的位置信息集。具體地,所述位置信息可以通過(guò)數(shù)組的方式進(jìn)行表示并且所述位置信息集中的位置信息可以通過(guò)堆棧的方式或者樹(shù)形結(jié)構(gòu)的方式進(jìn)行存儲(chǔ),具體的實(shí)現(xiàn)方式與步驟s13中的描述一致,這里便不再贅述。
這樣,在本實(shí)施方式中,通過(guò)兩個(gè)起始坐標(biāo)和終止坐標(biāo)便可以確定出頁(yè)面元素在終端設(shè)備的屏幕上的位置,從而節(jié)省了終端設(shè)備的cpu在計(jì)算頁(yè)面元素的位置時(shí)所需的開(kāi)銷(xiāo),減輕了終端設(shè)備的運(yùn)算壓力。
請(qǐng)參閱圖3。在一個(gè)實(shí)施方式中,所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩形區(qū)域還可以通過(guò)該矩形區(qū)域到終端設(shè)備的屏幕邊框的距離來(lái)確定,因此,在本實(shí)施方式中,步驟s13具體可以包括以下幾個(gè)步驟。
步驟s311:根據(jù)所述頁(yè)面元素的參數(shù),確定所述頁(yè)面元素與終端設(shè)備的屏幕邊框之間的距離信息;其中,所述距離信息中包括所述頁(yè)面元素到所述終端設(shè)備的屏幕的至少一個(gè)邊框的距離;
步驟s313:將得到的所述頁(yè)面元素與終端設(shè)備的屏幕邊框之間的距離信息作為所述頁(yè)面元素的位置信息,形成位置信息集。
在本實(shí)施方式中,所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩形區(qū)域可以通過(guò)該矩形區(qū)域到終端設(shè)備的屏幕邊框的距離信息來(lái)確定。所述距離信息可以包括所述頁(yè)面元素到終端設(shè)備屏幕的至少一個(gè)邊框的距離,所述距離可以利用毫米或者吋等長(zhǎng)度單位來(lái)表示。例如,在本實(shí)施方式中,可以?xún)H僅設(shè)置到所述終端設(shè)備屏幕的一個(gè)邊框的距離來(lái)確定所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩形區(qū)域的范圍,到所述終端設(shè)備屏幕的其它邊框的距離可以進(jìn)行缺省。例如,所述頁(yè)面元素到終端設(shè)備屏幕的左邊框的距離為5毫米,到終端設(shè)備的上邊框、下邊框以及右邊框的距離均進(jìn)行了缺省,在這種情況下,可以視為所述頁(yè)面元素的左邊框到終端設(shè)備屏幕的左邊框的距離為5毫米,而所述頁(yè)面元素的其它邊框可以與終端設(shè)備的上邊框、下邊框以及右邊框?qū)?yīng)重合。當(dāng)然,所述距離信息還可以包括頁(yè)面元素到終端設(shè)備的四個(gè)邊框的距離,例如,所述頁(yè)面元素在終端設(shè)備屏幕上所占的矩形區(qū)域可以表示為:到終端設(shè)備屏幕的上邊框的距離為5毫米,到左邊框的距離為3毫米,到右邊框的距離為4毫米,到下邊框的距離為3毫米,假設(shè)該終端設(shè)備屏幕的整體大小為:上下邊框均為20毫米,左 右邊框均為50毫米,那么該矩形區(qū)域的位置則可以限制在長(zhǎng)為42毫米,寬為13毫米的矩形區(qū)域內(nèi)。這樣,通過(guò)確定到終端設(shè)備的屏幕邊框的距離,從而可以在所述終端設(shè)備的屏幕上確定頁(yè)面元素所占的矩形區(qū)域的范圍。
在本實(shí)施方式中,可以將得到的所述頁(yè)面元素與終端設(shè)備的屏幕邊框之間的距離信息作為所述頁(yè)面元素的位置信息。具體地,所述位置信息可以通過(guò)數(shù)組的方式進(jìn)行表示并且所述位置信息集中的位置信息可以通過(guò)堆棧的方式或者樹(shù)形結(jié)構(gòu)的方式進(jìn)行存儲(chǔ),具體的實(shí)現(xiàn)方式與步驟s13中的描述一致,這里便不再贅述。
在一個(gè)實(shí)施方式中,由于在頁(yè)面代碼中頁(yè)面布局控件往往逐層嵌套,例如步驟s11中的頁(yè)面代碼的例子中,c2頁(yè)面布局控件就是嵌套于c1頁(yè)面布局控件中,那么下一層頁(yè)面布局控件中的頁(yè)面元素也往往包含于上一層的頁(yè)面布局控件中,例如,c2頁(yè)面布局控件中的image和text這兩個(gè)頁(yè)面元素也包含于c1頁(yè)面布局控件中。因此,為了能夠正確地從眾多的頁(yè)面布局控件中確定出預(yù)設(shè)頁(yè)面布局控件,可以首先確定出頁(yè)面代碼中的第一個(gè)頁(yè)面元素,那么包含所述第一個(gè)頁(yè)面元素的頁(yè)面布局控件中則可以包含該頁(yè)面代碼中的所有頁(yè)面元素。請(qǐng)參閱圖4,在本實(shí)施方式中,在終端設(shè)備上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件的步驟具體可以包括以下幾個(gè)步驟。
步驟s51:確定所述頁(yè)面代碼中的第一個(gè)頁(yè)面元素;
步驟s53:將所述頁(yè)面代碼中包含所述第一個(gè)頁(yè)面元素的頁(yè)面布局控件確定為候選頁(yè)面布局控件;
步驟s55:從所述候選頁(yè)面布局控件中選擇任一頁(yè)面布局控件,并將選擇的所述頁(yè)面布局控件渲染至終端設(shè)備的屏幕上。
在本實(shí)施方式中,可以對(duì)頁(yè)面代碼中的字符串進(jìn)行逐行掃描,并識(shí)別出該頁(yè)面代碼中的第一個(gè)頁(yè)面元素。具體的,可以通過(guò)將頁(yè)面代碼中的字符串與預(yù)設(shè)的頁(yè)面元素字符串進(jìn)行對(duì)比,所述預(yù)設(shè)的頁(yè)面元素字符串例如可以為image或者text,在對(duì)比后,可以從所述頁(yè)面代碼中確定與所述預(yù)設(shè)的頁(yè)面元素字符串相匹配的字符串。例如,對(duì)于步驟s11中的頁(yè)面代碼而言,該頁(yè)面代碼中與預(yù)設(shè)的頁(yè)面元素字符串相匹配的字符串有image和text。在從所述頁(yè)面代碼中確定與所述預(yù)設(shè)的頁(yè)面元素字符串相匹配的字符串之后,可以記錄確定的所述字符串在所述頁(yè)面代碼中的行號(hào)。例如,假設(shè)上述的image在頁(yè)面代碼中的行號(hào)為3,text所在的行號(hào)為4。接著,在本實(shí)施方式中可以通過(guò)對(duì)比記錄的行號(hào),便可以將記錄的所述行號(hào)中最小的行號(hào)對(duì)應(yīng)的頁(yè)面元素確定為所述頁(yè)面代碼中的第一個(gè)頁(yè)面元素。也就是說(shuō),在步驟s11中的頁(yè)面代碼中,記錄的行號(hào)中最小的行號(hào)為3,而該行號(hào)對(duì)應(yīng)的頁(yè)面元素為image,因此image可以作為該頁(yè)面代碼中的第一個(gè)頁(yè)面元素。
在本實(shí)施方式中,確定出頁(yè)面代碼中的第一個(gè)頁(yè)面元素后,便可以將包含所述第一個(gè)頁(yè)面元素的頁(yè)面布局控件確定為候選頁(yè)面布局控件。例如,在步驟s11中的頁(yè)面代碼的例子中,由于c2頁(yè)面布局控件嵌套于c1頁(yè)面布局控件中,因此c1頁(yè)面布局控件與c2頁(yè)面布局控件中均包括所述第一個(gè)頁(yè)面元素image,這樣,c1頁(yè)面布局控件與c2頁(yè)面布局控件均可以被確定為候選頁(yè)面布局控件。在本實(shí)施方式中,為了避免在終端設(shè)備的屏幕上渲染多個(gè)頁(yè)面布局控件,可以從所述候選頁(yè)面布局控件中選擇任一頁(yè)面布局控件,并將選擇的所述頁(yè)面布局控件作為所述頁(yè)面代碼的預(yù)設(shè)頁(yè)面布局控件。這樣,通過(guò)對(duì)頁(yè)面代碼中第一個(gè)頁(yè)面元素的行號(hào)進(jìn)行確定,從而可以準(zhǔn)確地獲取頁(yè)面代碼中包含所有頁(yè)面元素的頁(yè)面布局控件,進(jìn)一步地便可以確定所述預(yù)設(shè)頁(yè)面布局控件。
在一個(gè)實(shí)施方式中,為了更加快速地確定所述預(yù)設(shè)頁(yè)面布局控件,并且減少終端設(shè)備的cpu的運(yùn)算壓力,可以將所述頁(yè)面代碼中的第一個(gè)頁(yè)面布局控件確定為所述頁(yè)面代碼的預(yù)設(shè)頁(yè)面布局控件。這樣處理的原因在于,頁(yè)面代碼中后續(xù)的頁(yè)面布局控件往往嵌套于第一個(gè)頁(yè)面布局控件中,那么后續(xù)頁(yè)面布局控件中的頁(yè)面元素也往往包含于第一個(gè)頁(yè)面布局控件中,因此可以直接將第一個(gè)頁(yè)面布局控件確定為該頁(yè)面代碼中的預(yù)設(shè)頁(yè)面布局控件,以避免復(fù)雜的運(yùn)算過(guò)程,減輕終端設(shè)備的cpu的運(yùn)算壓力,同時(shí)也提高了確定目標(biāo)頁(yè)面布局控件的速度。
在一個(gè)實(shí)施方式中,在頁(yè)面代碼中,某些頁(yè)面元素的參數(shù)中會(huì)添加“dolayout=true”的字符串。該字符串往往是調(diào)試人員為了測(cè)試該頁(yè)面元素的布局是否正確而添加的,在實(shí)際應(yīng)用場(chǎng)景中,攜帶有該字符串的頁(yè)面元素在終端設(shè)備的屏幕上往往是不顯示的。因此,在本實(shí)施方式中,在步驟s15之前,可以判斷所述頁(yè)面元素的參數(shù)中是否包含預(yù)設(shè)字符串。此處的所述預(yù)設(shè)字符串便可以為“dolayout=true”字符串。當(dāng)所述頁(yè)面元素的參數(shù)中包含該預(yù)設(shè)字符串時(shí),則不在終端設(shè)備的屏幕上顯示該頁(yè)面元素。這樣,在本實(shí)施方式中,可以在終端設(shè)備的屏幕上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及根據(jù)所述位置信息集將所述頁(yè)面元素的參數(shù)中不包含所述預(yù)設(shè)字符串的頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
請(qǐng)參閱圖5。本申請(qǐng)還提供一種頁(yè)面代碼的處理裝置。如圖5所示,所述裝置可以包括頁(yè)面代碼加載單元100,位置信息集確定單元200以及渲染單元300。
其中,所述頁(yè)面代碼加載單元100可以用于加載目標(biāo)頁(yè)面的頁(yè)面代碼;其中所述頁(yè)面代碼包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,其中所述頁(yè)面布局控件中包括有頁(yè)面元素;
所述位置信息集確定單元200可以用于確定所述頁(yè)面代碼中頁(yè)面元素的位置信息,形成位置信息集;
所述渲染單元300可以用于在終端設(shè)備的屏幕上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及 根據(jù)所述位置信息集將所述頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
在本申請(qǐng)一實(shí)施方式中,所述位置信息集確定單元200可以包括起始坐標(biāo)確定模塊201,用于根據(jù)所述頁(yè)面代碼中所述頁(yè)面布局控件的參數(shù)以及所述頁(yè)面元素的參數(shù),確定所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo);位置信息集構(gòu)成模塊202,用于將得到的所述頁(yè)面元素在終端設(shè)備的屏幕上的起始坐標(biāo)作為所述頁(yè)面元素的位置信息,形成位置信息集。
在本申請(qǐng)一實(shí)施方式中,所述渲染單元300可以包括頁(yè)面元素確定模塊301,用于確定所述頁(yè)面代碼中的第一個(gè)頁(yè)面元素;候選頁(yè)面布局控件確定模塊302,用于將所述頁(yè)面代碼中包含所述第一個(gè)頁(yè)面元素的頁(yè)面布局控件確定為候選頁(yè)面布局控件;預(yù)設(shè)頁(yè)面布局控件選擇模塊303,用于從所述候選頁(yè)面布局控件中選擇任一頁(yè)面布局控件,并將選擇的所述頁(yè)面布局控件渲染至終端設(shè)備的屏幕上。
需要說(shuō)明的是,上述各個(gè)功能模塊的具體實(shí)現(xiàn)過(guò)程均與上述方法步驟中的描述一致,這里便不再贅述。
請(qǐng)參閱圖6。本申請(qǐng)還提供一種頁(yè)面代碼的處理設(shè)備。如圖6所示,所述設(shè)備可以包括顯示屏幕10,存儲(chǔ)器20以及處理器30。
其中,所述存儲(chǔ)器20可以存儲(chǔ)目標(biāo)頁(yè)面的頁(yè)面代碼;
所述處理器30可以從所述存儲(chǔ)器20中加載所述目標(biāo)頁(yè)面的頁(yè)面代碼;其中所述頁(yè)面代碼包括具備嵌套關(guān)系的至少兩個(gè)頁(yè)面布局控件,其中所述頁(yè)面布局控件中包括有頁(yè)面元素;確定所述頁(yè)面代碼中頁(yè)面元素的位置信息,形成位置信息集;在所述顯示屏幕10上渲染至少一個(gè)預(yù)設(shè)頁(yè)面布局控件,以及根據(jù)所述位置信息集將所述頁(yè)面元素渲染在所述至少一個(gè)預(yù)設(shè)頁(yè)面布局控件中。
本申請(qǐng)實(shí)施方式提供的一種頁(yè)面代碼的處理方法、裝置及設(shè)備,在終端設(shè)備的屏幕上最終只會(huì)渲染目標(biāo)頁(yè)面布局控件和頁(yè)面代碼中的頁(yè)面元素,對(duì)于頁(yè)面代碼中多余的頁(yè)面布局控件并不會(huì)進(jìn)行渲染,從而降低了終端設(shè)備的cpu和內(nèi)存的占用率,使得頁(yè)面在加載或者滑動(dòng)時(shí)可以更加順暢,不會(huì)產(chǎn)生卡頓的現(xiàn)象。
上面對(duì)本申請(qǐng)的各種實(shí)施方式的描述以描述的目的提供給本領(lǐng)域技術(shù)人員。其不旨在是窮舉的、或者不旨在將本申請(qǐng)限制于單個(gè)公開(kāi)的實(shí)施方式。如上所述,本申請(qǐng)的各種替代和變化對(duì)于上述技術(shù)所屬領(lǐng)域技術(shù)人員而言將是顯而易見(jiàn)的。因此,雖然已經(jīng)具體討論了一些另選的實(shí)施方式,但是其它實(shí)施方式將是顯而易見(jiàn)的,或者本領(lǐng)域技術(shù)人員相對(duì)容易得出。本申請(qǐng)旨在包括在此已經(jīng)討論過(guò)的本申請(qǐng)的所有替代、修改、和變化,以及落在上述申請(qǐng)的精神和范圍內(nèi)的其它實(shí)施方式。
在20世紀(jì)90年代,對(duì)于一個(gè)技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對(duì)二 極管、晶體管、開(kāi)關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對(duì)于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計(jì)人員幾乎都通過(guò)將改進(jìn)的方法流程編程到硬件電路中來(lái)得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說(shuō)一個(gè)方法流程的改進(jìn)就不能用硬件實(shí)體模塊來(lái)實(shí)現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場(chǎng)可編程門(mén)陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶(hù)對(duì)器件編程來(lái)確定。由設(shè)計(jì)人員自行編程來(lái)把一個(gè)數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請(qǐng)芯片制造廠商來(lái)設(shè)計(jì)和制作專(zhuān)用的集成電路芯片2。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來(lái)實(shí)現(xiàn),它與程序開(kāi)發(fā)撰寫(xiě)時(shí)所用的軟件編譯器相類(lèi)似,而要編譯之前的原始代碼也得用特定的編程語(yǔ)言來(lái)撰寫(xiě),此稱(chēng)之為硬件描述語(yǔ)言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog2。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語(yǔ)言稍作邏輯編程并編程到集成電路中,就可以很容易得到實(shí)現(xiàn)該邏輯方法流程的硬件電路。
上述實(shí)施方式闡明的裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來(lái)實(shí)現(xiàn)。
為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施方式或者實(shí)施方式的某些部分所述的方法。
本說(shuō)明書(shū)中的各個(gè)實(shí)施方式均采用遞進(jìn)的方式描述,各個(gè)實(shí)施方式之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施方式重點(diǎn)說(shuō)明的都是與其他實(shí)施方式的不同之處。尤其,對(duì)于設(shè)備和裝置的實(shí)施方式而言,由于其基本相似于方法實(shí)施方式,所以描述的比較簡(jiǎn)單,相關(guān)之處 參見(jiàn)方法實(shí)施方式的部分說(shuō)明即可。
本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)pc、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
雖然通過(guò)實(shí)施方式描繪了本申請(qǐng),本領(lǐng)域普通技術(shù)人員知道,本申請(qǐng)有許多變形和變化而不脫離本申請(qǐng)的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請(qǐng)的精神。