本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種滾動(dòng)視圖顯示方法及裝置。
背景技術(shù):
隨著終端設(shè)備屏幕的越來越大,在一屏范圍內(nèi)可以呈現(xiàn)多個(gè)信息展示區(qū),同時(shí)隨著多點(diǎn)觸控技術(shù)的出現(xiàn)以及在終端設(shè)備上的成功應(yīng)用,使得用戶在同一時(shí)刻對(duì)所述多個(gè)信息展示區(qū)分別進(jìn)行諸如滑動(dòng)、點(diǎn)擊的操作成為可能。
上述信息展示區(qū)具體展示的對(duì)象可以為滾動(dòng)視圖。滾動(dòng)視圖可以支持左右或上下滑動(dòng)操作。一個(gè)滾動(dòng)視圖中包含至少兩個(gè)子視圖,子視圖中可以展現(xiàn)圖片及文字信息。若在滾動(dòng)視圖當(dāng)前顯示的子視圖上執(zhí)行向左或向右的滑動(dòng)操作,則可以輪流播放該滾動(dòng)視圖中包含的子視圖。
在針對(duì)一個(gè)滾動(dòng)視圖執(zhí)行滑動(dòng)操作時(shí),每滑動(dòng)一次就要加載一個(gè)子視圖,這將引起設(shè)備較大的內(nèi)存消耗,為了減少內(nèi)存的消耗,采用了視圖復(fù)用技術(shù),也即將因滑動(dòng)操作從屏幕移出的子視圖保存起來,在再次需要該子視圖時(shí),從保存的子視圖中直接取出該子視圖并使用。
上述視圖復(fù)用技術(shù)在一定程度上減少了內(nèi)存的消耗。然而,多觸控技術(shù)使得一屏中可以展示多個(gè)滾動(dòng)視圖,并且可以同時(shí)對(duì)一屏中展示的多個(gè)滾動(dòng)視圖進(jìn)行上下快速滑動(dòng),該上下快速滑動(dòng)以在當(dāng)前屏幕中展示新的滾動(dòng)視圖,展示的每個(gè)滾動(dòng)視圖中所包含的所有子視圖均要加載并保存,即使采用上述視圖復(fù)用技術(shù),在數(shù)量如此之多的滾動(dòng)視圖下,設(shè)備的內(nèi)存也很快被消耗殆盡,進(jìn)而使得滾動(dòng)視圖的顯示出現(xiàn)卡頓,直至閃退。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種滾動(dòng)視圖顯示方法及裝置,用以解決現(xiàn)有的滾動(dòng)視 圖顯示中存在的內(nèi)存消耗量大的問題。
一種滾動(dòng)視圖顯示方法,包括:
創(chuàng)建滾動(dòng)視圖框架和視圖模板,所述視圖模板中包含的圖片為占位圖片;
利用創(chuàng)建的滾動(dòng)視圖框架和視圖模板復(fù)制出至少一個(gè)滾動(dòng)視圖框架和至少一個(gè)視圖模板;
確定當(dāng)前屏幕需要顯示的至少一張第一非占位圖片;
針對(duì)每一第一非占位圖片,利用該第一非占位圖片替換一個(gè)視圖模板中的占位圖片,形成一個(gè)第一子視圖;
針對(duì)形成的每一第一子視圖,將該第一子視圖添加到復(fù)制出的一個(gè)滾動(dòng)視圖框架中,形成一個(gè)第一滾動(dòng)視圖,其中,一個(gè)第一滾動(dòng)視圖中包含一個(gè)第一子視圖;
在屏幕中顯示形成的至少一個(gè)第一滾動(dòng)視圖。
一種滾動(dòng)視圖顯示裝置,包括:
創(chuàng)建單元,用于創(chuàng)建滾動(dòng)視圖框架和視圖模板,所述視圖模板中包含的圖片為占位圖片;
復(fù)制單元,用于利用創(chuàng)建的滾動(dòng)視圖框架和視圖模板復(fù)制出至少一個(gè)滾動(dòng)視圖框架和至少一個(gè)視圖模板;
確定單元,確定當(dāng)前屏幕需要顯示的至少一張第一非占位圖片;
子視圖形成單元,用于針對(duì)每一第一非占位圖片,利用該第一非占位圖片替換一個(gè)視圖模板中的占位圖片,形成一個(gè)第一子視圖;
滾動(dòng)視圖形成單元,用于針對(duì)形成的每一第一子視圖,將該第一子視圖添加到復(fù)制出的一個(gè)滾動(dòng)視圖框架中,形成一個(gè)第一滾動(dòng)視圖,其中,一個(gè)第一滾動(dòng)視圖中包含一個(gè)第一子視圖;
顯示單元,用于在屏幕中顯示形成的至少一個(gè)第一滾動(dòng)視圖。
在本申請(qǐng)實(shí)施例的方案中,事先創(chuàng)建了滾動(dòng)視圖框架和視圖模板,該視圖模板中包括占位圖片,后續(xù)利用該視圖模板形成第一子視圖,減少了內(nèi)存的占 用,同時(shí),進(jìn)行滾動(dòng)視圖的顯示時(shí),并非立即加載構(gòu)成當(dāng)前屏幕顯示的各滾動(dòng)視圖的所有子視圖,而是根據(jù)當(dāng)前屏幕需要顯示的非占位圖片,生成包含一個(gè)第一子視圖的第一滾動(dòng)視圖并顯示,從而解決了現(xiàn)有技術(shù)在加載滾動(dòng)視圖時(shí)存在的內(nèi)存消耗大的問題,加快了滾動(dòng)視圖的加載及顯示速度。
附圖說明
圖1為本申請(qǐng)實(shí)施例一提供的滾動(dòng)視圖顯示方法流程圖;
圖2為本申請(qǐng)實(shí)施例一提供的滾動(dòng)視圖示意圖;
圖3為本申請(qǐng)實(shí)施例二提供的滾動(dòng)視圖顯示方法流程圖;
圖4為本申請(qǐng)實(shí)施例三提供的滾動(dòng)視圖顯示裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本申請(qǐng)實(shí)施例提供一種滾動(dòng)視圖顯示方法及裝置,用以解決現(xiàn)有的滾動(dòng)視圖顯示中存在的內(nèi)存消耗量大的問題。
以下結(jié)合說明書附圖對(duì)本申請(qǐng)的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本申請(qǐng),并不用于限定本申請(qǐng)。并且在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
實(shí)施例一
如圖1所示,其為本申請(qǐng)實(shí)施例一的滾動(dòng)視圖顯示方法流程圖,包括以下步驟:
步驟101:創(chuàng)建滾動(dòng)視圖框架和視圖模板,所述視圖模板中包含的圖片為占位圖片;
其中,滾動(dòng)視圖框架提供自動(dòng)滾動(dòng)及縮放功能,能支持子視圖的滾動(dòng)操作。滾動(dòng)視圖框架和視圖模板是用來構(gòu)建滾動(dòng)視圖的。通常,將子視圖添加到滾動(dòng)視圖框架,可構(gòu)成滾動(dòng)視圖。
所述滾動(dòng)視圖框架的尺寸是根據(jù)當(dāng)前屏幕的寬和高以及確定一屏內(nèi)需要顯示的滾動(dòng)視圖的個(gè)數(shù)來確定的;
所述占位圖片是視圖模板在沒有真實(shí)的圖片的情況下進(jìn)行布局時(shí)使用的圖片,該圖片數(shù)據(jù)量較小。
此外,在滾動(dòng)視圖中包含文字時(shí),所述視圖模板中還包括文字框,以及文字大小和樣式信息;
步驟102:將所述滾動(dòng)視圖框架和視圖模板放入到緩存;
由于處理器可以快速地從緩存中存取數(shù)據(jù),上述滾動(dòng)視圖框架和視圖模板又是頻繁被用來構(gòu)建顯示在屏幕上的滾動(dòng)視圖的,因此,將所述滾動(dòng)視圖框架和視圖模板加載到緩存,有利于處理器快速從緩存中取出所述滾動(dòng)視圖框架和視圖模板,進(jìn)而在下述步驟中快速地形成第一滾動(dòng)視圖并顯示;
需要說明的是,本步驟102是本申請(qǐng)實(shí)施例的優(yōu)選步驟,目的是為了加快滾動(dòng)視圖的形成速度;
步驟103:利用創(chuàng)建的滾動(dòng)視圖框架和視圖模板復(fù)制出至少一個(gè)滾動(dòng)視圖框架和至少一個(gè)視圖模板;
這里形成的滾動(dòng)視圖框架以及滾動(dòng)視圖模板的個(gè)數(shù)可以與一屏內(nèi)顯示的第一滾動(dòng)視圖的個(gè)數(shù)相同;
復(fù)制視圖模板的目的是,為了后續(xù)利用復(fù)制的視圖模板生成第一子視圖;復(fù)制視圖模板的目的是,利用復(fù)制的滾動(dòng)視圖框架和生成的第一子視圖生成第一滾動(dòng)視圖。
若步驟102中,將創(chuàng)建的滾動(dòng)視圖框架和視圖模板放入了緩存中,則本步驟103中具體包括:
從緩存查找所述滾動(dòng)視圖框架和視圖模板,利用查找到的滾動(dòng)視圖框架復(fù)制出至少一個(gè)滾動(dòng)視圖框架,以及復(fù)制出至少一個(gè)視圖模板;
步驟104:確定當(dāng)前屏幕需要顯示的至少一張第一非占位圖片;
這里確定的第一非占位圖片是構(gòu)成當(dāng)前屏幕將要顯示的第一子視圖中的 圖片。
這里確定第一非占位圖片的目的是,為了形成當(dāng)前屏幕將要顯示的第一子視圖。
具體的,可以先確定當(dāng)前屏幕需要顯示的至少一張非占位圖片的圖片鏈接,之后根據(jù)所述圖片鏈接,獲取相應(yīng)的圖片。
通常,一張非占位圖片具有一個(gè)圖片鏈接,因此,在獲知需要顯示的非占位圖片的圖片鏈接時(shí),就可以從網(wǎng)絡(luò)中下載該非占位圖片。
步驟105:針對(duì)確定的每一第一非占位圖片,利用該第一非占位圖片替換一個(gè)視圖模板中的占位圖片,生成一個(gè)第一子視圖;
這里將一張非占位圖片替換掉一個(gè)視圖模板的占位圖片,就可以得到一個(gè)第一子視圖。若上述步驟103中復(fù)制出的視圖模板的個(gè)數(shù)有4個(gè),步驟104中確定了4張非占位圖片,則本步驟105中,可以生成4個(gè)第一子視圖;
若在步驟101中所述視圖模板還包括文字框,以及文字大小和樣式信息,則在上述步驟104中,還需要確定與當(dāng)前屏幕需要顯示的至少一張非占位圖片對(duì)應(yīng)的文字信息;此時(shí),本步驟105中具體包括:
針對(duì)確定的每一張第一非占位圖片以及對(duì)應(yīng)的文字信息,利用該第一非占位圖片替換所述視圖模板中的占位圖片,將該對(duì)應(yīng)的文字信息按照所述文字大小和樣式信息填充在所述文字框中,生成第一子視圖。此時(shí),生成的第一子視圖既有第一非占位圖片又有文字。
步驟106:針對(duì)形成的每一第一子視圖,將該第一子視圖添加到復(fù)制出的一個(gè)滾動(dòng)視圖框架中,形成一個(gè)第一滾動(dòng)視圖;
這里,若形成的第一子視圖的數(shù)量為4,復(fù)制出的滾動(dòng)視圖框架的數(shù)量也為N,則步驟106中可以形成4個(gè)第一滾動(dòng)視圖。
步驟107:在屏幕中顯示形成的至少一個(gè)第一滾動(dòng)視圖。
下面通過舉例對(duì)上述步驟107中形成的第一滾動(dòng)視圖進(jìn)行說明:
圖2中給出了一屏中包含四個(gè)滾動(dòng)視圖時(shí)的示意圖。其中,虛線表示的各 第二子視圖是指可以通過左右滑動(dòng)操作滑出并顯示到屏幕上的子視圖。在假設(shè)完整的滾動(dòng)視圖A包含第一子視圖A1、第二子視圖A2、第二子視圖A3及第二子視圖A4;完整的滾動(dòng)視圖B包含子視圖第一B1、第二子視圖B2、第二子視圖B3及第二子視圖B4;完整的滾動(dòng)視圖C包含第一子視圖C1、第二子視圖C2、第二子視圖C3及第二子視圖C4,完整的滾動(dòng)視圖D包含子視圖第一D1、子視圖D2、第二子視圖D3及第二子視圖D4時(shí),現(xiàn)有技術(shù)的視圖顯示技術(shù)將完整的滾動(dòng)視圖A、完整的滾動(dòng)視圖B、完整的滾動(dòng)視圖C和完整的滾動(dòng)視圖D包含的全部子視圖都直接利用非占位圖片生成及加載出來,但顯示在屏幕上的是第一子視圖A1、第一子視圖B1、第一子視圖C1和第一子視圖D1,而本申請(qǐng)中生成及加載的第一滾動(dòng)視圖A僅包括第一子視圖A1、第一滾動(dòng)視圖B僅包括第一子視圖B1、第一滾動(dòng)視圖C僅包括第一子視圖C1、第一滾動(dòng)視圖D僅包括第一子視圖D1,也即僅加載滾動(dòng)視圖的第一子視圖,因?yàn)榇藭r(shí)還不確定用戶是否需要瀏覽該滾動(dòng)視圖的各第二子視圖,因此,不需要加載也不影響用戶瀏覽。
通常用戶僅先粗略地瀏覽的滾動(dòng)視圖的第一子視圖,在對(duì)第一子視圖感興趣后才會(huì)對(duì)該第一子視圖執(zhí)行滑動(dòng)操作,實(shí)現(xiàn)繼續(xù)瀏覽該滾動(dòng)視圖的各第二子視圖,因此,本申請(qǐng)實(shí)施例的方案,顯示包括第一子視圖的第一滾動(dòng)視圖的方案,能較好地解決現(xiàn)有的滾動(dòng)視圖顯示中存在的內(nèi)存消耗量大的問題,使得滾動(dòng)視圖的形成、加載及顯示的速度較快,并且不影響用戶體驗(yàn)。
較佳的,所述方法還包括:
在所述第一滾動(dòng)視圖滑出屏幕的可視區(qū)域時(shí),釋放該第一滾動(dòng)視圖占用的內(nèi)存。
由于在第一滾動(dòng)視圖滑出屏幕的可視區(qū)域時(shí),就釋放了該第一滾動(dòng)視圖占用的內(nèi)存,因此實(shí)現(xiàn)了內(nèi)存的回收,最大程度上節(jié)約了內(nèi)存資源。
考慮到用戶可能會(huì)對(duì)當(dāng)前屏幕顯示的第一滾動(dòng)視圖感興趣,對(duì)該第一滾動(dòng)視圖執(zhí)行滑動(dòng)操作,以便獲得更多的信息,較佳的,所述方法還包括以下步驟:
步驟a:監(jiān)測用戶針對(duì)當(dāng)前顯示的第一滾動(dòng)視圖的滑動(dòng)操作;
這里,可以通過在檢測到用戶針對(duì)某一第一滾動(dòng)視圖的手指觸摸事件之后,可以設(shè)置一個(gè)計(jì)時(shí)器,若在計(jì)時(shí)器到達(dá)設(shè)定值前發(fā)生了手指移動(dòng)事件,則確定用戶針對(duì)該第一滾動(dòng)視圖進(jìn)行了滑動(dòng)操作。
步驟b:在監(jiān)測到用戶針對(duì)某一第一滾動(dòng)視圖進(jìn)行左右滑動(dòng)時(shí),確定至少一個(gè)第二非占位圖片;
滑動(dòng)第一滾動(dòng)視圖中的第一子視圖之后,應(yīng)該切換該第一子視圖至第二子視圖,這里的第二非占位圖片即為用于形成第二子視圖的圖片。
假設(shè)在本步驟b中監(jiān)測到用戶針對(duì)第一滾動(dòng)視圖A中的第一子視圖進(jìn)行左右滑動(dòng)時(shí),則此時(shí)確定的第二非占位圖片可以為用于構(gòu)成第二子視圖A2的圖片a2、構(gòu)成第二子視圖A3的圖片a3和用于構(gòu)成第二子視圖A4的圖片a4。
步驟c:利用創(chuàng)建的視圖模板復(fù)制出至少一個(gè)視圖模板;
這里在用戶滑動(dòng)第一滾動(dòng)視圖時(shí),需要將該第一滾動(dòng)視圖的子視圖切換至第二子視圖,然而,第一滾動(dòng)視圖中并沒有添加第二子視圖,因此,這里需要復(fù)制視圖模板,進(jìn)而利用復(fù)制的視圖模板和步驟b中確定的的第二非占位圖片,生成第二子視圖。
步驟d:針對(duì)確定的每一第二非占位圖片,使用該第二非占位圖片替換視圖模板中的占位圖片,生成第二子視圖;
沿用步驟b中的例子,這里形成的第二子視圖即為第二子視圖A2、第二子視圖A3和第二子視圖A4。
步驟e:將生成的各第二子視圖添加到第一滾動(dòng)視圖中,形成第二滾動(dòng)視圖;
沿用步驟d中的例子,這里形成的第二滾動(dòng)視圖即為包括子視圖A1、子視圖A2、子視圖A3和子視圖A4的完整的滾動(dòng)視圖。
步驟f:顯示形成的該第二滾動(dòng)視圖。
上述步驟a至步驟e中,體現(xiàn)的是在用戶真正對(duì)某一第一滾動(dòng)視圖感興趣 (用戶針對(duì)該第一滾動(dòng)視圖進(jìn)行了左右滑動(dòng)操作,說明用戶對(duì)該第一滾動(dòng)視圖感興趣)時(shí),才加載該第一滾動(dòng)視圖的各第二子視圖,以及利用生成的各第二子視圖來形成第二滾動(dòng)視圖,相對(duì)于現(xiàn)有技術(shù)而言,由于僅加載并形成用戶感興趣的第二滾動(dòng)視圖(也即完整的滾動(dòng)視圖),因此,不影響用戶體驗(yàn)的同時(shí),減少了內(nèi)存的占用,提高了對(duì)用戶左右滑動(dòng)手勢的響應(yīng)速度。
上述步驟b中,確定至少一個(gè)第二非占位圖片,具體包括:
第一步:確定至少一個(gè)第二非占位圖片的圖片鏈接;
第二步:利用所述圖片鏈接從網(wǎng)絡(luò)中下載至少一個(gè)第二非占位圖片。
由于是在用戶開始滑動(dòng)第一滾動(dòng)視圖時(shí),從網(wǎng)絡(luò)中下載用于構(gòu)成該第一滾動(dòng)視圖的各第二子視圖的第二非占位圖片,因此,相對(duì)于現(xiàn)有技術(shù)的不管不論用戶是否開始滑動(dòng)滾動(dòng)視圖,將至少一個(gè)第二非占位圖片均從網(wǎng)絡(luò)中下載下來而言,節(jié)約了網(wǎng)絡(luò)流量和電池電量。
仍沿用圖2中所示的滾動(dòng)視圖,一屏中顯示4個(gè)滾動(dòng)視圖,每個(gè)完整的滾動(dòng)視圖均包括4個(gè)子視圖,在顯示一屏滾動(dòng)視圖時(shí)就需要從網(wǎng)絡(luò)中下載16張圖片,在上下滑動(dòng)時(shí)會(huì)產(chǎn)生N屏滾動(dòng)視圖,就需要從網(wǎng)絡(luò)中下載16N張圖片,這將耗費(fèi)較多的網(wǎng)絡(luò)流量和電池電量;而采用本申請(qǐng)實(shí)施例的方案,下載構(gòu)成用戶進(jìn)行了滑動(dòng)操作的第一滾動(dòng)視圖的各第二子視圖的第二非占位圖片,也即用戶感興趣的第一滾動(dòng)視圖,而用戶通常情況下僅會(huì)對(duì)屏幕中顯示的第一滾動(dòng)視圖中的部分(例如M個(gè)第一滾動(dòng)視圖,M通常情況下遠(yuǎn)小于4N)第一滾動(dòng)視圖產(chǎn)生興趣并進(jìn)行左右滑動(dòng)操作,因此,僅需要下載4M張圖片,相比與現(xiàn)有技術(shù)的下載16N張圖片,耗費(fèi)的網(wǎng)絡(luò)流量和電池電量相對(duì)較少,提升了用戶體驗(yàn)。
此外,在申請(qǐng)實(shí)施例的方案中,還可以通過對(duì)屏幕進(jìn)行上下滑動(dòng)的速度的監(jiān)控,來對(duì)內(nèi)存消耗和網(wǎng)絡(luò)流量進(jìn)行進(jìn)一步優(yōu)化,下面通過實(shí)施例二的方案進(jìn)行說明。
實(shí)施例二
如圖3所示,其為本申請(qǐng)實(shí)施例二中的滾動(dòng)視圖顯示方法流程圖,包括以下步驟:
步驟301:創(chuàng)建滾動(dòng)視圖框架和視圖模板,所述視圖模板中包含的圖片為占位圖片;
步驟302:將所述滾動(dòng)視圖框架和視圖模板加載到緩存;
步驟303:利用創(chuàng)建的滾動(dòng)視圖框架和視圖模板復(fù)制出至少一個(gè)滾動(dòng)視圖框架和至少一個(gè)視圖模板;
上述步驟301至步驟303與實(shí)施例一中的步驟101至步驟103具體細(xì)節(jié)相同,這里不再贅述。
步驟304:監(jiān)測用戶針對(duì)屏幕進(jìn)行上下滑動(dòng)的速度;
步驟305:判斷監(jiān)測到的速度是否大于設(shè)定值;若否,則執(zhí)行步驟306;若是,則執(zhí)行步驟307;
所述設(shè)定值可以通過對(duì)用戶上下滑動(dòng)速度及對(duì)第一滾動(dòng)視圖的感興趣與否進(jìn)行學(xué)習(xí)得到;
步驟306:確定當(dāng)前屏幕需要顯示的至少一張第一非占位圖片;之后執(zhí)行步驟308;
考慮到用戶對(duì)屏幕進(jìn)行上下滑動(dòng)的速度越小,表明用戶對(duì)當(dāng)前屏幕中需要顯示的第一滾動(dòng)視圖感興趣的程度越大,因此,本步驟306中需要對(duì)構(gòu)成當(dāng)前屏幕需要顯示的第一子視圖的第一非占位圖片進(jìn)行確定,進(jìn)而在后續(xù)步驟中形成第一滾動(dòng)視圖,滿足用戶的需求。
步驟307:針對(duì)復(fù)制出的每一滾動(dòng)視圖框架,將一個(gè)視圖模板添加到該滾動(dòng)視圖框架中,形成一個(gè)第三滾動(dòng)視圖;之后執(zhí)行步驟309;
考慮到用戶對(duì)屏幕進(jìn)行上下滑動(dòng)的速度越大,表明用戶對(duì)當(dāng)前屏幕中顯示的第一滾動(dòng)視圖感興趣的程度越小,因此,本步驟307中并不對(duì)構(gòu)成當(dāng)前屏幕需要顯示的第一子視圖的第一非占位圖片進(jìn)行確定,僅是將包含有占位圖片的 視圖模板添加到滾動(dòng)視圖框架,形成第三滾動(dòng)視圖;由于不進(jìn)行第一非占位圖片的確定,也即不需要從網(wǎng)絡(luò)中下載相應(yīng)的圖片,因此,節(jié)約了網(wǎng)絡(luò)流量的同時(shí),也減少了內(nèi)存的消耗,提高了對(duì)用戶上下滑動(dòng)手勢的響應(yīng)速度,使得第三滾動(dòng)視圖的顯示較為流暢。
步驟308:針對(duì)確定的每一第一非占位圖片,利用該第一非占位圖片替換一個(gè)視圖模板中的占位圖片,生成第一子視圖;之后執(zhí)行步驟310;
步驟309:在屏幕中顯示形成的各第三滾動(dòng)視圖。
本步驟309中在屏幕上看到的即為包含占位圖片的第三滾動(dòng)視圖;
步驟310:針對(duì)復(fù)制出的每一滾動(dòng)視圖框架,將一個(gè)第一子視圖添加到該滾動(dòng)視圖框架,形成第一滾動(dòng)視圖;之后執(zhí)行步驟311;
步驟311:在屏幕中顯示形成的至少一個(gè)第一滾動(dòng)視圖。
通俗地說,本申請(qǐng)實(shí)施例二的方案也即為:當(dāng)用戶快上下滑動(dòng)速度較快時(shí),直接利用視圖模板和滾動(dòng)視圖框架形成第三滾動(dòng)視圖,并不創(chuàng)建第一子視圖和第二子視圖;當(dāng)用戶快上下滑動(dòng)速度較慢時(shí),才利用復(fù)制出的視圖模板來創(chuàng)建第一子視圖,并將該第一子視圖添加到滾動(dòng)視圖框架中,形成并顯示第一滾動(dòng)視圖。
通過本申請(qǐng)實(shí)施例二的方案,對(duì)用戶針對(duì)屏幕進(jìn)行上下滑動(dòng)操作時(shí)的視圖顯示進(jìn)行了優(yōu)化,根據(jù)對(duì)上下滑動(dòng)的速度來確定是否需要進(jìn)行第一滾動(dòng)視圖的創(chuàng)建,不影響用戶對(duì)感興趣的第一滾動(dòng)視圖的瀏覽的同時(shí)節(jié)約了網(wǎng)絡(luò)流量的同時(shí)提高了對(duì)用戶上下滑動(dòng)手勢的響應(yīng)速度,使得第一滾動(dòng)視圖及第三滾動(dòng)視圖的顯示較為流暢,提高了用戶體驗(yàn)。
本申請(qǐng)實(shí)施方式尤其適合于針對(duì)智能終端的多滾動(dòng)視圖顯示。其中,智能終端可以包括但是不局限于:功能手機(jī)、智能手機(jī)、掌上電腦、個(gè)人電腦(PC)、車載電腦、平板電腦或個(gè)人數(shù)字助理(PDA)等等。
實(shí)施例三
基于與實(shí)施例一及實(shí)施例二的同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例三提供了一種滾動(dòng)視圖顯示裝置,其結(jié)構(gòu)示意圖如圖4所示,包括:
創(chuàng)建單元41,用于創(chuàng)建滾動(dòng)視圖框架和視圖模板,所述視圖模板中包含的圖片為占位圖片;
復(fù)制單元42,用于利用創(chuàng)建的滾動(dòng)視圖框架和視圖模板復(fù)制出至少一個(gè)滾動(dòng)視圖框架和至少一個(gè)視圖模板;
確定單元43,確定當(dāng)前屏幕需要顯示的至少一張第一非占位圖片;
子視圖形成單元44,用于針對(duì)每一第一非占位圖片,利用該第一非占位圖片替換一個(gè)視圖模板中的占位圖片,形成一個(gè)第一子視圖;
滾動(dòng)視圖形成單元45,用于針對(duì)形成的每一第一子視圖,將該第一子視圖添加到復(fù)制出的一個(gè)滾動(dòng)視圖框架中,形成一個(gè)第一滾動(dòng)視圖,其中,一個(gè)第一滾動(dòng)視圖中包含一個(gè)第一子視圖;
顯示單元46,用于在屏幕中顯示形成的至少一個(gè)第一滾動(dòng)視圖。
較佳的,所述裝置還包括:
監(jiān)測單元47,用于監(jiān)測用戶針對(duì)當(dāng)前顯示的第一滾動(dòng)視圖中的第一子視圖的滑動(dòng)操作;
所述確定單元43,還用于在監(jiān)測到用戶針對(duì)某一第一子視圖進(jìn)行滑動(dòng)操作時(shí),確定至少一張第二非占位圖片;
所述復(fù)制單元42,還用于利用創(chuàng)建的視圖模板復(fù)制出至少一個(gè)視圖模板;
所述子視圖形成單元44,還用于針對(duì)確定的每一第二非占位圖片,使用該第二非占位圖片替換復(fù)制出的一個(gè)視圖模板中的占位圖片,生成一個(gè)第二子視圖;
所述滾動(dòng)視圖形成單元45,還用于將生成的各第二子視圖添加到該第一子視圖所在的第一滾動(dòng)視圖中,形成第二滾動(dòng)視圖;
所述顯示單元46,還用于在屏幕中顯示形成的第二滾動(dòng)視圖中的第二子視圖。
較佳的,所述裝置還包括:
監(jiān)測單元47,用于監(jiān)測用戶針對(duì)屏幕進(jìn)行上下滑動(dòng)的速度;
判斷單元48,用于判斷監(jiān)測到的速度是否大于設(shè)定值;
所述確定單元43,具體用于在監(jiān)測單元監(jiān)測到上下滑動(dòng)的速度不大于設(shè)定值時(shí),確定當(dāng)前屏幕需要顯示的至少一張第一非占位圖片。
較佳的,所述滾動(dòng)視圖形成單元45,還用于在監(jiān)測到的速度大于設(shè)定值時(shí),針對(duì)復(fù)制出的每一滾動(dòng)視圖框架,將一個(gè)視圖模板添加到該滾動(dòng)視圖框架中,形成一個(gè)第三滾動(dòng)視圖;
所述顯示單元46,還用于在屏幕中顯示形成的各第三滾動(dòng)視圖。
較佳的,所述裝置還包括:
釋放單元49,用于在所述第一滾動(dòng)視圖滑出屏幕的可視區(qū)域時(shí),釋放該第一滾動(dòng)視圖占用的內(nèi)存。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)實(shí)施例可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本申請(qǐng)所必須的。
本領(lǐng)域技術(shù)人員可以理解實(shí)施例中終端中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的終端中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)終端中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
上述本申請(qǐng)實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申 請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。