本發(fā)明實(shí)施例涉及一種顯示方法以及一種應(yīng)用該顯示方法的顯示裝置。
背景技術(shù):
隨著技術(shù)的發(fā)展,移動(dòng)設(shè)備功能越來(lái)越豐富,越來(lái)越多的人使用移動(dòng)設(shè)備進(jìn)行娛樂(lè)和生活。移動(dòng)設(shè)備最常用的功能當(dāng)屬使用瀏覽器訪問(wèn)網(wǎng)站。
很多網(wǎng)站都會(huì)有一些以列表形式展示的信息,根據(jù)移動(dòng)設(shè)備的操作習(xí)慣,這些列表一般是可以無(wú)限下拉加載的。上述網(wǎng)頁(yè)通常使用HTML技術(shù)呈現(xiàn)視覺(jué)效果。然而,限于實(shí)現(xiàn)的機(jī)制,跟原生軟件實(shí)現(xiàn)的列表組件相比,HTML列表的渲染性能差很多。特別當(dāng)網(wǎng)頁(yè)中包括大量數(shù)據(jù)項(xiàng)的列表在滾動(dòng)時(shí),會(huì)占用更多的內(nèi)存,從而使頁(yè)面操作出現(xiàn)卡頓的情況。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
為此,本申請(qǐng)的第一個(gè)目的在于提出一種一種顯示方法,應(yīng)用于顯示裝置中,其特征在于,包括:初始化列表并生成第一數(shù)量的顯示項(xiàng);判斷是否有顯示項(xiàng)被移出顯示區(qū)域;當(dāng)有顯示項(xiàng)被移出所述顯示區(qū)域時(shí),將至少一移出的顯示項(xiàng)顯示于列表;對(duì)顯示項(xiàng)設(shè)置新的數(shù)據(jù)顯示。
本申請(qǐng)的第二個(gè)目的在于提出一種應(yīng)用該顯示方法的顯示裝置。
為達(dá)上述目的,本申請(qǐng)第一方面實(shí)施例提出了一種顯示方法,包括:初始化列表并生成第一數(shù)量的顯示項(xiàng);判斷是否有顯示項(xiàng)被移出顯示區(qū)域;當(dāng)有顯示項(xiàng)被移出所述顯示區(qū)域時(shí),將至少一移出的顯示項(xiàng)顯示于列表;對(duì)顯示項(xiàng)設(shè)置新的數(shù)據(jù)顯示。
本申請(qǐng)實(shí)施例的顯示方法,其中所述初始化列表之后還包括: 監(jiān)控所述列表滾動(dòng)動(dòng)作。
本申請(qǐng)實(shí)施例的顯示方法,所述方法還包括:判斷所述列表的滾動(dòng)速度是否滿足一預(yù)設(shè)條件;當(dāng)滾動(dòng)速度滿足所述預(yù)設(shè)條件時(shí),對(duì)滾動(dòng)時(shí)間進(jìn)行第一時(shí)間長(zhǎng)度的延時(shí)。
本申請(qǐng)實(shí)施例的顯示方法,所述當(dāng)初始化列表并生成第一數(shù)量的顯示項(xiàng)進(jìn)一步包括,所述顯示項(xiàng)被賦予坐標(biāo)值。
本申請(qǐng)實(shí)施例的顯示方法,當(dāng)所述顯示項(xiàng)被移動(dòng)時(shí),通過(guò)賦予顯示項(xiàng)偏移量以更改其坐標(biāo)值。
為達(dá)上述目的,本申請(qǐng)第二方面實(shí)施例提出了一種顯示裝置,包括初始化模塊,監(jiān)控模塊,及控制模塊,所述初始化模塊用于初始化列表并生成第一數(shù)量的顯示項(xiàng);所述監(jiān)控模塊圖用于判斷是否有顯示項(xiàng)被移出顯示區(qū)域;所述控制模塊用于當(dāng)有顯示項(xiàng)被移出所述顯示區(qū)域時(shí),將至少一移出的顯示項(xiàng)顯示于列表,所述顯示裝置還用于對(duì)顯示項(xiàng)設(shè)置新的數(shù)據(jù)顯示。
本申請(qǐng)實(shí)施例的顯示裝置,所述初始化模塊還用于在初始化列表后監(jiān)控所述列表滾動(dòng)動(dòng)作。
本申請(qǐng)實(shí)施例的顯示裝置,所述監(jiān)控模塊還用于監(jiān)控列表滾動(dòng)動(dòng)作,判斷所述列表滾動(dòng)速度是否滿足一預(yù)設(shè)條件;及 所述顯示裝置,還包括延時(shí)模塊,用于當(dāng)所述列表滾動(dòng)速度滿足所述預(yù)設(shè)條件時(shí),對(duì)滾動(dòng)時(shí)間進(jìn)行第一時(shí)間長(zhǎng)度的延時(shí)。
本申請(qǐng)實(shí)施例的顯示裝置,所述控制模塊還用于當(dāng)初始化列表并生成第一數(shù)量的顯示項(xiàng)時(shí)賦予所述顯示項(xiàng)坐標(biāo)值。
本申請(qǐng)實(shí)施例的顯示裝置,所述控制模塊還用于當(dāng)所述顯示項(xiàng)被移動(dòng)時(shí),通過(guò)賦予顯示項(xiàng)偏移量以更改其坐標(biāo)值。
通過(guò)所述顯示方法,當(dāng)所述顯示項(xiàng)被移動(dòng)時(shí),只是對(duì)顯示項(xiàng)進(jìn)行垂直方向上的偏移,而避免了顯示項(xiàng)的新生成、插入、刪除和移動(dòng),即對(duì)已生成的顯示項(xiàng)進(jìn)行了節(jié)點(diǎn)重復(fù)利用,因此可以實(shí)現(xiàn)在有限內(nèi)存的環(huán)境中實(shí)現(xiàn)列表的無(wú)限滾動(dòng)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例顯示方法的流程圖。
圖2為本發(fā)明實(shí)施例顯示裝置的示意圖。
圖3為本發(fā)明實(shí)施例顯示裝置的方框圖。
具體實(shí)施方式
下面詳細(xì)描述本申請(qǐng)的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本申請(qǐng),而不能理解為對(duì)本申請(qǐng)的限制。
下面參考附圖描述本申請(qǐng)關(guān)于一種顯示裝置以及一種顯示方法的實(shí)施例。
請(qǐng)參考圖1及圖2,圖1為本發(fā)明實(shí)施例顯示方法100的流程圖,圖2為本發(fā)明實(shí)施例顯示裝置200的示意圖。所述顯示裝置200包括一顯示屏201,所述顯示屏201包括一顯示區(qū)域202。
所述顯示方法100包括:
步驟110,初始化列表并生成第一數(shù)量的顯示項(xiàng);
步驟120,監(jiān)控列表滾動(dòng)動(dòng)作;
步驟130,判斷是否有顯示項(xiàng)被移出顯示區(qū)域,若判斷有顯示項(xiàng)被移出顯示區(qū)域,到步驟140;
步驟140,判斷所述列表的滾動(dòng)速度是否滿足預(yù)設(shè)條件,若滾動(dòng)速度滿足預(yù)設(shè)條件,到步驟150,若滾動(dòng)速度不滿足預(yù)設(shè)條件,到步驟160;
步驟150,對(duì)滾動(dòng)時(shí)間進(jìn)行第一時(shí)間長(zhǎng)度的延時(shí);
步驟160,判斷所述列表的滾動(dòng)方向是否為向下滾動(dòng),若滾動(dòng)方向?yàn)橄蛳聺L動(dòng),到步驟170;若滾動(dòng)方向?yàn)橄蛏蠞L動(dòng),到步驟180;
步驟170,將至少一移出的顯示項(xiàng)顯示于列表末端;
步驟180,將至少一移出的顯示項(xiàng)顯示于列表頂端;
步驟190,對(duì)顯示項(xiàng)設(shè)置新的數(shù)據(jù)顯示。
需要說(shuō)明的是,此處定義的方向,“上”對(duì)應(yīng)于“下”,“末端”對(duì)應(yīng)于“頂端”。
對(duì)于步驟110,所述列表內(nèi)容被初始化以顯示于所述顯示項(xiàng)中。所述顯示區(qū)域用于同時(shí)顯示第二數(shù)量的顯示項(xiàng),所述第二數(shù)量小于或者等于第一數(shù)量。列表初始化時(shí),根據(jù)所述顯示項(xiàng)的高度和所述顯示屏201的可視高度,生成有限數(shù)量的所述顯示項(xiàng),所述有限數(shù)量在這里被稱之為第一數(shù)量,所述述顯示屏201的顯示區(qū)域202可以同時(shí)容納的顯示項(xiàng)數(shù)量稱之為第二數(shù)量。
例如,在一實(shí)施例中,所述顯示區(qū)域可以同時(shí)容納的顯示項(xiàng)為10個(gè),則可以生成12個(gè)顯示項(xiàng)。列表滾動(dòng)時(shí),由于所述顯示區(qū)域只能同時(shí)顯示10個(gè)顯示項(xiàng),被移出顯示區(qū)域的顯示項(xiàng)被移動(dòng)到回收箱,被移入顯示區(qū)域的顯示項(xiàng)被從回收箱中取出作為新的顯示于所述顯示區(qū)域的顯示項(xiàng),2個(gè)顯示項(xiàng)緩存于回收箱隨時(shí)準(zhǔn)備被調(diào)用。
在步驟120,實(shí)時(shí)監(jiān)控所述列表的滾動(dòng)操作。
在一實(shí)施例中,所述顯示項(xiàng)在初始化時(shí)被賦予了坐標(biāo)值,所述針對(duì)顯示項(xiàng)的移動(dòng)均為坐標(biāo)值一特定方向上的移動(dòng)。在本發(fā)明的一個(gè)實(shí)施例中,所述列表的滾動(dòng)方向?yàn)橄蛏蠞L動(dòng)或者向下滾動(dòng)。
在一實(shí)施例中,步驟140中的所述預(yù)設(shè)條件為,所述列表的滾動(dòng)速度,即所述顯示項(xiàng)的移動(dòng)速度超過(guò)了一預(yù)設(shè)值。本實(shí)施方式中,當(dāng)所述第一數(shù)量的顯示項(xiàng)的移動(dòng)速度超過(guò)所述預(yù)設(shè)值時(shí),即單位時(shí)間內(nèi)移動(dòng)的顯示項(xiàng)數(shù)量超過(guò)了所述第一數(shù)量時(shí),所述預(yù)設(shè)條件視為被滿足。
本實(shí)施例中,步驟150中的所述第一時(shí)間長(zhǎng)度的延時(shí)時(shí)間為100毫秒。
在一實(shí)施例中,在所述第一時(shí)間長(zhǎng)度的延時(shí)過(guò)程中,所述顯示區(qū)域的顯示項(xiàng)不會(huì)被設(shè)置新的數(shù)據(jù)顯示,而是顯示模糊狀圖像,延時(shí)過(guò)程中認(rèn)為列表仍然處于滾動(dòng)狀態(tài),第一時(shí)間長(zhǎng)度延時(shí)過(guò)后,若判斷列表滾動(dòng)速度滿足所述預(yù)設(shè)條件,則繼續(xù)執(zhí)行延時(shí)第一時(shí)間長(zhǎng)度。在其他實(shí)施例中,在所述第一時(shí)間長(zhǎng)度的延時(shí)過(guò)程中,所述顯示區(qū)域用于顯示固定圖像。本發(fā)明對(duì)此不進(jìn)行限定。
本實(shí)施方式中,所述顯示區(qū)域202用于顯示一網(wǎng)頁(yè),或稱為一列表。所述網(wǎng)頁(yè)內(nèi)容經(jīng)初始化后形成若干適應(yīng)于所述顯示區(qū)域202的元素。所述顯示裝置200還依據(jù)所述顯示區(qū)域202生成第一數(shù)量的顯示項(xiàng)。
以顯示項(xiàng)2021以及顯示項(xiàng)2022為例,當(dāng)所述顯示裝置200工作時(shí),所述顯示項(xiàng)2021位于所述列表的頂部,所述顯示項(xiàng)2022位于所述列表的底部,所述顯示項(xiàng)2021及所述顯示項(xiàng)2022分別被用于顯示插入的元素。本實(shí)施方式中,所述顯示項(xiàng)2021及所述顯示項(xiàng)2022分別被賦予一坐標(biāo)值。
在步驟170中,如圖2所示,當(dāng)所述列表向下滾動(dòng)時(shí),所述顯示項(xiàng)2022位于列表末端,位于列表頂端的顯示項(xiàng)2021向上移動(dòng)將被移出顯示區(qū)域,此時(shí)所述顯示項(xiàng)2021將被賦予一垂直方向上的偏移量,使得列表滾動(dòng)一格顯示項(xiàng)距離后所述顯示項(xiàng)2021被顯示于列表末端,所述顯示項(xiàng)2021在未改變文檔對(duì)象模型(DOM)的前提下被用于顯示新的數(shù)據(jù),或元素。
在步驟180中,當(dāng)所述列表向上滾動(dòng)時(shí),所述顯示項(xiàng)2022將被移出所述顯示區(qū)域202,此時(shí)所述顯示項(xiàng)2022將被賦予所述垂直方向上的偏移量,使得列表滾動(dòng)一格顯示項(xiàng)距離后所述顯示項(xiàng)2022將被顯示于列表頂端,位于所述顯示項(xiàng)2021之上,所述顯示項(xiàng)2022在未改變文檔對(duì)象模型(DOM)的前提下被用于顯示新的數(shù)據(jù),或元素。
上述方式為第一數(shù)量等于第二數(shù)量的方式,在一些實(shí)施例中,當(dāng)?shù)谝粩?shù)量大于第二數(shù)量時(shí),可以在滾動(dòng)過(guò)程中調(diào)用緩存于回收箱的緩存顯示項(xiàng)使得滾動(dòng)更加平滑。例如,當(dāng)所述列表向下滾動(dòng)時(shí),所述顯示項(xiàng)2022位于列表末端,位于列表頂端的顯示項(xiàng)2021向上移動(dòng)將被移出顯示區(qū)域,此時(shí)一緩存顯示項(xiàng)將被調(diào)用,所述緩存顯示項(xiàng)將被賦予一垂直偏移量以顯示于列表末端,位于顯示項(xiàng)2022之下,所述顯示項(xiàng)2021將被緩存到回收箱。類似地,當(dāng)所述列表向上滾動(dòng)時(shí),所述顯示項(xiàng)2022將被移出所述顯示區(qū)域202,此時(shí)緩存顯示項(xiàng)將被賦予所述垂直方向上的偏移量,使得列表滾動(dòng)一格顯示項(xiàng)距離后所述緩存顯示項(xiàng)將被顯示于列表頂端,位于所述顯示項(xiàng)2021之上,所述顯示項(xiàng)2022被緩存到回收箱。
通過(guò)所述顯示方法100,當(dāng)所述顯示項(xiàng)被移動(dòng)時(shí),只是對(duì)顯示項(xiàng)進(jìn)行垂直方向上的偏移,而避免了顯示項(xiàng)的新生成、插入、刪除和移動(dòng),即對(duì)已生成的顯示項(xiàng)進(jìn)行了節(jié)點(diǎn)重復(fù)利用,因此可以實(shí)現(xiàn)在有限內(nèi)存的環(huán)境中實(shí)現(xiàn)列表的無(wú)限滾動(dòng)。
請(qǐng)參考圖3,圖3為本發(fā)明實(shí)施例顯示裝置200的方框圖。
所述顯示裝置200包括初始化模塊21,監(jiān)控模塊22,延時(shí)模塊23,回收模塊24及控制模塊25。
所述初始化模塊21用于初始化列表并生成第一數(shù)量的顯示項(xiàng)。
所述監(jiān)控模塊22用于監(jiān)控列表滾動(dòng)動(dòng)作。
所述延時(shí)模塊23用于對(duì)滾動(dòng)時(shí)間進(jìn)行第一時(shí)間長(zhǎng)度的延時(shí)。
所述回收模塊24用于回收及緩存顯示項(xiàng)。
所述控制模塊25用于控制顯示項(xiàng)以顯示內(nèi)容。
當(dāng)所述監(jiān)控模塊22判斷所述列表的滾動(dòng)速度滿足預(yù)設(shè)條件時(shí),所述監(jiān)控模塊22控制所述延時(shí)模塊23對(duì)滾動(dòng)時(shí)間進(jìn)行第一時(shí)間長(zhǎng)度的延時(shí)。
當(dāng)所述監(jiān)控模塊22判斷所述列表的滾動(dòng)方向?yàn)橄蛳聺L動(dòng)時(shí),將至少一移出的顯示項(xiàng)顯示于列表末端;當(dāng)所述監(jiān)控模塊22判斷所述列表的滾動(dòng)方向?yàn)橄蛏蠞L動(dòng)時(shí),將至少一移出的顯示項(xiàng)顯示于列表頂端。
當(dāng)所述監(jiān)控模塊22監(jiān)控到所述列表滾動(dòng)時(shí),所述回收模塊24用于回收及緩存被移出的顯示項(xiàng)。所述控制模塊25用于賦予至少一被移出顯示區(qū)域的顯示項(xiàng)一垂直偏移量并控制該顯示項(xiàng)顯示魚列表末端或頂端,所述控制模塊25還用于對(duì)顯示項(xiàng)設(shè)置新的數(shù)據(jù)顯示。
本實(shí)施方式中,所述顯示裝置200還包括處理器、存儲(chǔ)器、存儲(chǔ)介質(zhì)、顯示芯片、連接線等器件,本發(fā)明對(duì)此不做限定。
在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請(qǐng)的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
此外,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本申請(qǐng)的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請(qǐng)的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本申請(qǐng)的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本申請(qǐng)的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)代理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本申請(qǐng)的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本申請(qǐng)的限制,本領(lǐng)域的普通技術(shù)人員在本申請(qǐng)的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。