圖片墻中圖片的顯示方法與裝置制造方法
【專利摘要】本發(fā)明公開了一種圖片墻中圖片的顯示方法與裝置,當(dāng)屏幕滑動(dòng)到某場(chǎng)景時(shí),再對(duì)該場(chǎng)景的圖片進(jìn)行下載,而不需要事先下載,下載完成的圖片在顯示前先判斷是否還在視口當(dāng)前顯示的場(chǎng)景中,若已不在則不必顯示,即隨場(chǎng)景的變化而調(diào)整圖片的下載和顯示與否。減少了集中下載與顯示對(duì)內(nèi)存的占用,避免產(chǎn)生卡頓現(xiàn)象,圖片數(shù)量較大時(shí),同樣適用。
【專利說明】圖片墻中圖片的顯示方法與裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能終端【技術(shù)領(lǐng)域】,特別是涉及一種圖片墻中圖片的顯示方法與裝置。
【背景技術(shù)】
[0002]圖片墻在眾多終端中都有用到,例如電影網(wǎng)站中影片的預(yù)覽界面,紛繁的影片封套被列舉在一個(gè)網(wǎng)頁(yè)中。
[0003]對(duì)于圖片墻上圖片的顯示,傳統(tǒng)方法是在進(jìn)入圖片墻的那一刻就發(fā)送所有圖片的下載和顯示指令,之后將所有圖片都貼到圖片墻上。當(dāng)用戶滑動(dòng)屏幕或者拖動(dòng)滾動(dòng)條時(shí),場(chǎng)景變化,視口中出現(xiàn)相應(yīng)的圖片。
[0004]上述方法的缺點(diǎn)是占內(nèi)存,圖片數(shù)量越多,內(nèi)存占用越明顯,使用戶產(chǎn)生卡頓的不良體驗(yàn)。
【發(fā)明內(nèi)容】
[0005]基于上述情況,本發(fā)明提出了一種圖片墻中圖片的顯示方法,以減少圖片顯示時(shí)的內(nèi)存占用。
[0006]一種圖片墻中圖片的顯示方法,包括步驟:
[0007]監(jiān)測(cè)圖片墻上視口顯示的場(chǎng)景的變化;
[0008]在監(jiān)測(cè)到場(chǎng)景變化時(shí),找出當(dāng)前場(chǎng)景中尚未顯示的圖片;
[0009]判斷尚未顯示的圖片是否已下載,若未下載則進(jìn)行下載;
[0010]判斷圖片墻上視口顯示的場(chǎng)景是否發(fā)生新的變化,下載完成的圖片是否還在當(dāng)前場(chǎng)景中;
[0011]若下載完成的圖片還在當(dāng)前場(chǎng)景中,則將其顯示在圖片墻上。
[0012]一種圖片墻中圖片的顯示裝置,包括:
[0013]場(chǎng)景變化監(jiān)測(cè)模塊,用于監(jiān)測(cè)圖片墻上視口顯示的場(chǎng)景的變化;
[0014]未顯示圖片確定模塊,用于在所述場(chǎng)景變化監(jiān)測(cè)模塊監(jiān)測(cè)到場(chǎng)景變化時(shí),找出當(dāng)前場(chǎng)景中尚未顯示的圖片;
[0015]圖片下載模塊,用于判斷尚未顯示的圖片是否已下載,若未下載則進(jìn)行下載;
[0016]所述場(chǎng)景變化監(jiān)測(cè)模塊,還用于根據(jù)圖片墻上視口顯示的場(chǎng)景的最新變化情況,判斷下載完成的圖片是否還在當(dāng)前場(chǎng)景中;
[0017]貼圖模塊,用于當(dāng)下載完成的圖片還在當(dāng)前場(chǎng)景中時(shí),將該圖片顯示在圖片墻上。
[0018]本發(fā)明圖片墻中圖片的顯示方法與裝置,當(dāng)屏幕滑動(dòng)到某場(chǎng)景時(shí),再對(duì)該場(chǎng)景的圖片進(jìn)行下載,而不需要事先下載,下載完成的圖片在顯示前先判斷是否還在視口當(dāng)前顯示的場(chǎng)景中,若已不在則不必顯示,即隨場(chǎng)景的變化而調(diào)整圖片的下載和顯示與否。減少了集中下載與顯示對(duì)內(nèi)存的占用,避免產(chǎn)生卡頓現(xiàn)象,圖片數(shù)量較大時(shí),同樣適用?!緦@綀D】
【附圖說明】
[0019]圖1為本發(fā)明圖片墻中圖片的顯示方法的流程示意圖;
[0020]圖2為一個(gè)圖片墻的示意圖;
[0021]圖3為本發(fā)明圖片墻中圖片的顯示方法一個(gè)優(yōu)選實(shí)施例的流程示意圖;
[0022]圖4為本發(fā)明圖片墻中圖片的顯示裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不限定本發(fā)明的保護(hù)范圍。
[0024]本發(fā)明圖片墻中圖片的顯示方法,如圖1所示,包括步驟:
[0025]步驟S101、監(jiān)測(cè)圖片墻上視口顯示的場(chǎng)景的變化;
[0026]步驟S102、在監(jiān)測(cè)到場(chǎng)景變化時(shí),找出當(dāng)前場(chǎng)景中尚未顯示的圖片;
[0027]步驟S103、判斷尚未顯示的圖片是否已下載,若未下載則進(jìn)行下載;
[0028]步驟S104、判斷圖片墻上視口顯示的場(chǎng)景是否發(fā)生新的變化,下載完成的圖片是否還在當(dāng)前場(chǎng)景中;
[0029]步驟S105、若下載完成的圖片還在當(dāng)前場(chǎng)景中,則將其顯示在圖片墻上。
[0030]由以上步驟可知,本方法將圖片最終顯示出來經(jīng)歷了兩個(gè)步驟,一個(gè)是下載,一個(gè)是顯示,兩個(gè)步驟隨場(chǎng)景變化而決定是否執(zhí)行,即需要時(shí)再下載并顯示,不再是事先集中下載。因此,減輕了內(nèi)存負(fù)擔(dān),為其他程序的執(zhí)行留出了空間。
[0031]對(duì)場(chǎng)景變化的監(jiān)測(cè)方式可以是在視口中的焦點(diǎn)變動(dòng)時(shí),判斷焦點(diǎn)是否還在之前的場(chǎng)景中,若不在則認(rèn)定場(chǎng)景發(fā)生變化;或者是判斷圖片墻滑動(dòng)條的位置是否改變,若改變則認(rèn)定場(chǎng)景發(fā)生變化。
[0032]在Qt、VC語(yǔ)言中都提供了 Iistwidget部件,將Iistwidget屬性調(diào)整為iconmode,將圖片裝載在一個(gè)一個(gè)item上,就可以完成一個(gè)圖片墻的列表。圖2所示圖片墻是一個(gè)想象圖,框住兩列圖片的框?yàn)橐暱冢婚L(zhǎng)串的圖片是一個(gè)圖片列表。該列表共有7列圖片,視口只能顯示2列圖片,目前焦點(diǎn)在視口右上角的圖片上。
[0033]如圖2,圖片墻上有7列圖片,一個(gè)視口僅能顯示兩列圖片,我們給每列編上號(hào)abcdefg。視口能顯示的場(chǎng)景包括ab、bc、cd、de、ef、fg這6種。推廣開來,假設(shè)列表中有M行N列圖片,一個(gè)視口僅能顯不m行n列圖片,此時(shí)視口所能顯不的場(chǎng)景有(M-m+l) * (N_n+1)種,將這些場(chǎng)景分別編號(hào),用二維數(shù)組編號(hào),例如(a,b),場(chǎng)景的編號(hào)即是場(chǎng)景左上第一幅圖在列表中的坐標(biāo)。這樣每一個(gè)場(chǎng)景都是獨(dú)一無二的,我們通過場(chǎng)景編號(hào)得到場(chǎng)景內(nèi)所有圖片在列表中的坐標(biāo)。列表的上下左右移動(dòng)都會(huì)使得場(chǎng)景發(fā)現(xiàn)變化,從而使得視口內(nèi)的圖片頁(yè)發(fā)生變化。
[0034]以下是圖片具體的下載命令發(fā)送過程:
[0035]首先給每張圖片設(shè)置兩個(gè)狀態(tài)位,下載狀態(tài)(load_state)與顯示狀態(tài)(show_state),其中 load_state 有如下三種狀態(tài):未下載(no_download)、下載中(downloading)、下載完成(downloaded) ;show_state有兩種狀態(tài):顯示(show),未顯示(no_pic)。另外,圖片的下載新開線程,不會(huì)阻塞用戶操作。[0036]舉例說明,如圖2,當(dāng)前焦點(diǎn)在視口右上角的圖片上,當(dāng)焦點(diǎn)右移至右側(cè)相鄰圖片上時(shí),列表左移一列,當(dāng)前焦點(diǎn)以不在之前的場(chǎng)景中,即場(chǎng)景發(fā)送變化,此時(shí)發(fā)送視口內(nèi)最新場(chǎng)景所包含圖片的下載命令:
[0037]如圖3所示,當(dāng)圖片顯示狀態(tài)為“未顯示(no_pic)”、下載狀態(tài)屬于“未下載(no_download)”時(shí),向圖片發(fā)送下載命令,將下載狀態(tài)置為“下載中(downloading)” ;
[0038]圖片狀態(tài)是“未顯示(no_pic)”、下載狀態(tài)是“下載中(downloading)”,則不用發(fā)送任何命令,不做處理;
[0039]圖片狀態(tài)是“未顯示(no_pic)”、下載狀態(tài)是“下載完成(downloaded)”時(shí),不發(fā)送下載命令,發(fā)送顯示命令,此時(shí)先通過計(jì)算下載完成的圖片在列表的索引和此時(shí)視口當(dāng)前場(chǎng)景的編號(hào)可以計(jì)算出當(dāng)前下載好的圖片在不在視口中,如果在,將顯示狀態(tài)置為“顯示(show)”,如果不在,不做處理不貼圖。這樣可以避免視口翻到下一場(chǎng)景時(shí)上一場(chǎng)景仍在貼圖,這樣不僅不必要也會(huì)導(dǎo)致界面的操作卡頓。因?yàn)椋N圖屬于n操作,會(huì)阻塞界面的操作,雖然單張圖片的貼圖卡頓用戶幾乎無法感知,但是當(dāng)需要貼的圖片很多很大時(shí),這種卡頓將被放大。
[0040]當(dāng)然,如果圖片狀態(tài)已為“顯示(show)”,不做任何處理。
[0041]本發(fā)明圖片墻中圖片的顯示裝置是與上述顯示方法對(duì)應(yīng)的裝置,如圖4所示,包括:
[0042]場(chǎng)景變化監(jiān)測(cè)模塊,用于監(jiān)測(cè)圖片墻上視口顯示的場(chǎng)景的變化;
[0043]未顯示圖片確定模塊,用于在所述場(chǎng)景變化監(jiān)測(cè)模塊監(jiān)測(cè)到場(chǎng)景變化時(shí),找出當(dāng)前場(chǎng)景中尚未顯示的圖片;
[0044]圖片下載模塊,用于判斷尚未顯示的圖片是否已下載,若未下載則進(jìn)行下載;
[0045]所述場(chǎng)景變化監(jiān)測(cè)模塊,還用于根據(jù)圖片墻上視口顯示的場(chǎng)景的最新變化情況,判斷下載完成的圖片是否還在當(dāng)前場(chǎng)景中;
[0046]貼圖模塊,用于當(dāng)下載完成的圖片還在當(dāng)前場(chǎng)景中時(shí),將該圖片顯示在圖片墻上。
[0047]圖4所示的結(jié)構(gòu)是本裝置的一個(gè)實(shí)施例,在該實(shí)施例中,場(chǎng)景變化監(jiān)測(cè)模塊、未顯示圖片確定模塊、圖片下載模塊和貼圖模塊依次相連,其中,場(chǎng)景變化監(jiān)測(cè)模塊還與圖片下載模塊和貼圖模塊相連,從而構(gòu)成本顯示裝置。
[0048]作為一個(gè)優(yōu)選的實(shí)施例,所述場(chǎng)景變化監(jiān)測(cè)模塊,用于監(jiān)測(cè)圖片墻上視口中焦點(diǎn)的變動(dòng),在焦點(diǎn)變動(dòng)時(shí),判斷焦點(diǎn)是否還在之前的場(chǎng)景中,若不在則認(rèn)定場(chǎng)景發(fā)生變化。
[0049]作為一個(gè)優(yōu)選的實(shí)施例,所述場(chǎng)景變化監(jiān)測(cè)模塊,用于判斷圖片墻滑動(dòng)條的位置是否改變,若改變則認(rèn)定場(chǎng)景發(fā)生變化。
[0050]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種圖片墻中圖片的顯示方法,其特征在于,包括步驟: 監(jiān)測(cè)圖片墻上視口顯示的場(chǎng)景的變化; 在監(jiān)測(cè)到場(chǎng)景變化時(shí),找出當(dāng)前場(chǎng)景中尚未顯示的圖片; 判斷尚未顯示的圖片是否已下載,若未下載則進(jìn)行下載; 判斷圖片墻上視口顯示的場(chǎng)景是否發(fā)生新的變化,下載完成的圖片是否還在當(dāng)前場(chǎng)景中; 若下載完成的圖片還在當(dāng)前場(chǎng)景中,則將其顯示在圖片墻上。
2.根據(jù)權(quán)利要求1所述的圖片墻中圖片的顯示方法,其特征在于,對(duì)場(chǎng)景變化的監(jiān)測(cè)方式為:在視口中的焦點(diǎn)變動(dòng)時(shí),判斷焦點(diǎn)是否還在之前的場(chǎng)景中,若不在則認(rèn)定場(chǎng)景發(fā)生變化。
3.根據(jù)權(quán)利要求1所述的圖片墻中圖片的顯示方法,其特征在于,對(duì)場(chǎng)景變化的監(jiān)測(cè)方式為:判斷圖片墻滑動(dòng)條的位置是否改變,若改變則認(rèn)定場(chǎng)景發(fā)生變化。
4.一種圖片墻中圖片的顯示裝置,其特征在于,包括: 場(chǎng)景變化監(jiān)測(cè)模塊,用于監(jiān)測(cè)圖片墻上視口顯示的場(chǎng)景的變化; 未顯示圖片確定模塊,用于在所述場(chǎng)景變化監(jiān)測(cè)模塊監(jiān)測(cè)到場(chǎng)景變化時(shí),找出當(dāng)前場(chǎng)景中尚未顯不的圖片; 圖片下載模塊,用于判斷尚未顯示的圖片是否已下載,若未下載則進(jìn)行下載; 所述場(chǎng)景變化監(jiān)測(cè)模塊,還用于根據(jù)圖片墻上視口顯示的場(chǎng)景的最新變化情況,判斷下載完成的圖片是否還在當(dāng)前場(chǎng)景中; 貼圖模塊,用于當(dāng)下載完成的圖片還在當(dāng)前場(chǎng)景中時(shí),將該圖片顯示在圖片墻上。
5.根據(jù)權(quán)利要求4所述的圖片墻中圖片的顯示裝置,其特征在于,所述場(chǎng)景變化監(jiān)測(cè)模塊,用于監(jiān)測(cè)圖片墻上視口中焦點(diǎn)的變動(dòng),在焦點(diǎn)變動(dòng)時(shí),判斷焦點(diǎn)是否還在之前的場(chǎng)景中,若不在則認(rèn)定場(chǎng)景發(fā)生變化。
6.根據(jù)權(quán)利要求4所述的圖片墻中圖片的顯示裝置,其特征在于,所述場(chǎng)景變化監(jiān)測(cè)模塊,用于判斷圖片墻滑動(dòng)條的位置是否改變,若改變則認(rèn)定場(chǎng)景發(fā)生變化。
【文檔編號(hào)】G06F3/14GK103593158SQ201310637770
【公開日】2014年2月19日 申請(qǐng)日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】盧鵬 申請(qǐng)人:廣東歐珀移動(dòng)通信有限公司