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

一種智能終端中異步加載圖片的方法和系統(tǒng)的制作方法

文檔序號(hào):6504891閱讀:210來源:國(guó)知局
一種智能終端中異步加載圖片的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種智能終端中異步加載圖片的方法和系統(tǒng),根據(jù)待下載的圖片,對(duì)從智能終端的屏幕的視圖列表中獲取與待下載的圖片對(duì)應(yīng)的視圖進(jìn)行判斷;如果為空,創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載待下載的圖片,以鍵值對(duì)的方式將異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的URL;如果不為空,獲取視圖中的URL,根據(jù)URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除異步任務(wù)對(duì)應(yīng)的鍵值對(duì),重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載待下載的圖片,以鍵值對(duì)的方式將新創(chuàng)建的異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的URL。本發(fā)明提供的技術(shù)方案能夠解決現(xiàn)有方法存在容易出錯(cuò)、占用系統(tǒng)資源過大的問題。
【專利說明】一種智能終端中異步加載圖片的方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)智能終端【技術(shù)領(lǐng)域】,特別是涉及一種智能終端中異步加載圖片的方法和系統(tǒng)。

【背景技術(shù)】
[0002]現(xiàn)在安卓系統(tǒng)下的應(yīng)用軟件中存在的很大一部分都是需要客戶端和服務(wù)器之間進(jìn)行交互,即通過客戶端訪問網(wǎng)絡(luò)。在訪問網(wǎng)絡(luò)的時(shí)候,就會(huì)存在客戶端下載網(wǎng)絡(luò)圖片到本地并顯示在智能終端屏幕的窗口上的情況。
[0003]現(xiàn)有的技術(shù)中,客戶端在下載網(wǎng)絡(luò)圖片的過程中,通常采用的技術(shù)方案分為兩種:一種通過自己構(gòu)造線程和線程池;另一種是利用現(xiàn)成的異步任務(wù)AsyncTask。
[0004]其中,在第一種方案中,每次下載都要去重新構(gòu)造一個(gè)線程,然后自己做一個(gè)獨(dú)立的線程池,去控制線程的個(gè)數(shù)。在該方案中,需要提前編寫代碼量會(huì)很多,并且是自己控制線程的個(gè)數(shù),在應(yīng)用運(yùn)行時(shí)容易出現(xiàn)各種問題。
[0005]在第二種方案中,使用現(xiàn)成的AsyncTask ;由于AsyncTask本身就是一個(gè)線程池機(jī)制,默認(rèn)允許運(yùn)行的線程是5個(gè),線程隊(duì)列里面可以排隊(duì)線程是128個(gè),超過這個(gè)數(shù)目,程序會(huì)拋出異常。由于智能終端內(nèi)存是非常珍貴資源,如果對(duì)每個(gè)下載任務(wù)都構(gòu)造一個(gè)AsyncTask,這樣會(huì)導(dǎo)致下載任務(wù)過大的占用智能終端的內(nèi)存,不利于智能終端的其他應(yīng)用的使用。并且如果不對(duì)AsyncTask的數(shù)量進(jìn)行控制,一旦數(shù)目超過128個(gè),那么應(yīng)用程序就會(huì)出現(xiàn)異常。
[0006]綜上所述,現(xiàn)有的智能終端中的異步加載圖片的技術(shù)方案存在容易出錯(cuò)、占用系統(tǒng)資源過大的問題。


【發(fā)明內(nèi)容】

[0007]本發(fā)明提供了一種智能終端中異步加載圖片的方法和系統(tǒng),本發(fā)明提供的技術(shù)方案能夠解決現(xiàn)有方法存在容易出錯(cuò)、占用系統(tǒng)資源過大的問題。
[0008]為達(dá)到所述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0009]本發(fā)明公開了一種智能終端中異步加載圖片的方法,該方法包括:
[0010]根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對(duì)應(yīng)的視圖,判斷所述視圖是否為空;
[0011]如果所述視圖為空,則創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載所述待下載的圖片,以所述待下載的圖片的URL為key,所述異步任務(wù)為value,將所述異步任務(wù)保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL ;
[0012]如果所述視圖不為空,則獲取所述視圖中的URL,根據(jù)所述URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除所述異步任務(wù)對(duì)應(yīng)的key和value,重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載所述待下載的圖片,以所述待下載的圖片的URL為key,所述新創(chuàng)建的異步任務(wù)為value,將所述新創(chuàng)建的異步任務(wù)保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL。
[0013]在上述方法中,智能終端的屏幕收到滑動(dòng)視圖列表操作后,所述視圖列表中的全部或部分視圖滑出屏幕時(shí),所述從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對(duì)應(yīng)的視圖具體包括:
[0014]從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與所述待下載的圖片對(duì)應(yīng)的視圖。
[0015]在上述方法中,所述判斷所述視圖中是否為空具體包括:
[0016]通過獲取視圖接口獲取與所述待下載圖片對(duì)應(yīng)的視圖,在所述獲取視圖接口中判斷所獲取到的視圖是否為空。
[0017]在上述方法中,所述在所述視圖中記錄所述待下載的圖片的URL包括:
[0018]在所述視圖的標(biāo)簽的視圖持有適配器的URL屬性中記錄所述待下載圖片的URL。
[0019]在上述方法中,所述視圖不為空,則獲取所述視圖中的URL具體包括:
[0020]獲取所述視圖的標(biāo)簽的視圖持有適配器,查找到所述視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
[0021]在上述方法中,所述智能終端的屏幕的視圖列表中包含M個(gè)視圖;則緩存中保存的異步任務(wù)的個(gè)數(shù)小于等于M,其中,M為正整數(shù)。
[0022]在上述方法中,所述釋放獲取的異步任務(wù)占用的資源前還包括:
[0023]判斷所述異步任務(wù)的下載是否完成,如果沒有完成,則停止所述異步任務(wù)的下載操作。
[0024]本發(fā)明公開了一種智能終端中異步加載圖片的系統(tǒng),該系統(tǒng)包括:
[0025]視圖獲取單元、判斷單元、處理單元和異步任務(wù)創(chuàng)建單元;
[0026]所述視圖獲取單元,用于根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對(duì)應(yīng)的視圖,指示判斷單元對(duì)所述視圖進(jìn)行判斷;
[0027]所述判斷單元,用于判斷視圖獲取單元所指示的視圖是否為空;
[0028]所述處理單元,用于在判斷單元判斷視圖為空的情況下,通過所述異步任務(wù)創(chuàng)建單元?jiǎng)?chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載所述待下載的圖片;在判斷單元判斷視圖不為空的情況下,獲取所述視圖中的URL,根據(jù)所述URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除所述異步任務(wù)對(duì)應(yīng)的key和value,通過所述異步任務(wù)創(chuàng)建單元重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載所述待下載的圖片;
[0029]所述異步任務(wù)創(chuàng)建單元,用于創(chuàng)建異步任務(wù),以所述待下載的圖片的URL為key,所述異步任務(wù)為value,將所述異步任務(wù)保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL。
[0030]在上述系統(tǒng)中,所述視圖獲取單元,用于在智能終端的屏幕收到滑動(dòng)視圖列表操作后,所述視圖列表中的全部或部分視圖滑出屏幕時(shí),從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與待下載的圖片對(duì)應(yīng)的視圖;
[0031]所述判斷單元,用于通過獲取視圖接口獲取與所述待下載圖片對(duì)應(yīng)的視圖,在所述獲取視圖接口中判斷所獲取到的視圖是否為空。
[0032]在上述系統(tǒng)中,所述異步任務(wù)創(chuàng)建單元,用于在視圖的標(biāo)簽的視圖持有適配器的URL屬性中記錄待下載圖片的URL;所述處理單元,用于獲取視圖的標(biāo)簽的視圖持有適配器,查找到所述視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
[0033]綜上所述,在本發(fā)明的技術(shù)方案中,根據(jù)待下載的圖片從智能終端的屏幕的視圖列表中獲取與該待下載的圖片對(duì)應(yīng)的視圖,先判斷獲取到的視圖是否為空,如果為空,則創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載所述待下載的圖片,如果不為空,根據(jù)視圖中URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除所述異步任務(wù)對(duì)應(yīng)的key和value,之后才創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載所述待下載的圖片。
[0034]這樣保證智能終端緩存中的異步任務(wù)不會(huì)多于屏幕的視圖列表中的視圖的個(gè)數(shù),使得當(dāng)視圖在屏幕上不可見時(shí),能夠及時(shí)的取消與該視圖對(duì)應(yīng)的異步任務(wù),釋放該異步任務(wù)占用的系統(tǒng)資源,將釋放的系統(tǒng)資源用于其他待下載圖片的下載操作。
[0035]由此,能夠解決現(xiàn)有技術(shù)中因?yàn)楫惒饺蝿?wù)過多而造成的運(yùn)行容易出錯(cuò)、占用系統(tǒng)資源過大的技術(shù)問題,取得了降低運(yùn)行出錯(cuò)概率、節(jié)約智能終端中系統(tǒng)資源的有益效果。

【專利附圖】

【附圖說明】
[0036]圖1是本發(fā)明中一種實(shí)施例中的智能終端中異步加載圖片的流程圖;
[0037]圖2是本發(fā)明中一種實(shí)施例中的智能終端中異步加載圖片的詳細(xì)流程圖;
[0038]圖3是本發(fā)明中一種實(shí)施例中的智能終端中異步加載圖片的系統(tǒng)結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0039]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0040]圖1是本發(fā)明中一種實(shí)施例中的智能終端中異步加載圖片的流程圖;如圖1所述,該方法包括如下步驟。
[0041]步驟101,根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與待下載的圖片對(duì)應(yīng)的視圖。
[0042]在本發(fā)明的具體實(shí)現(xiàn)方式中,根據(jù)待下載的圖片需要在智能終端的屏幕上顯示的位置,從智能終端的屏幕的視圖列表中獲取與該待下載的圖片對(duì)應(yīng)的視圖,下載該待下載的圖片,然后將下載完成的圖片在該視圖中顯示出來。
[0043]另外,為了實(shí)現(xiàn)對(duì)系統(tǒng)資源的重復(fù)有效利用,需要重用滑出智能終端的屏幕的視圖,例如智能終端的屏幕收到滑動(dòng)視圖列表操作后,視圖列表中的全部或部分視圖滑出屏幕時(shí),則從智能終端的屏幕的視圖列表中獲取與待下載的圖片對(duì)應(yīng)的視圖,具體包括:從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與待下載的圖片對(duì)應(yīng)的視圖。
[0044]步驟102,判斷視圖是否為空。如果視圖為空則進(jìn)行步驟103,如果視圖不為空則進(jìn)行步驟104。
[0045]在步驟102中,由于在獲取視圖的過程中,會(huì)出現(xiàn)多種情況,例如:在首次下載圖片時(shí),獲取到的視圖是空的;或者是,在非首次下載圖片時(shí),獲取到的視圖中已經(jīng)有下好的圖片或正在下載的圖片。其中,在本發(fā)明的實(shí)施例中,獲取到的視圖為空是指該視圖內(nèi)沒有對(duì)應(yīng)的待下載圖片或?qū)?yīng)的待下載圖片沒有開始下載,即還沒有為該待下載的圖片分配對(duì)應(yīng)的異步任務(wù);獲取到的視圖不為空是指該視圖內(nèi)對(duì)應(yīng)的待下載圖片正在下載或者已經(jīng)下載完成。
[0046]對(duì)于獲取到的視圖為空的情況下,以及對(duì)于獲取到的視圖不為空的情況下,需要進(jìn)行不同的處理;故在步驟102中,對(duì)獲取到的視圖進(jìn)行判斷。在本發(fā)明的一種實(shí)施例中,判斷獲取到的視圖是否為空具體為,通過獲取視圖接口獲取與待下載圖片對(duì)應(yīng)的視圖,在獲取視圖接口中判斷所獲取到的視圖是否為空。
[0047]步驟103,創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載待下載的圖片,以待下載的圖片的URL為key,異步任務(wù)為value,將異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的 URL。
[0048]在步驟103中,由于獲取到的視圖是空,即該視圖中還沒有顯示過圖片;則在該視圖中顯示待下載圖片,需要?jiǎng)?chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載對(duì)應(yīng)的待下載圖片;并且以待下載的圖片的URL為key,異步任務(wù)為value,通過鍵值對(duì)的方式將異步任務(wù)保存在緩存中,并且在該視圖中記錄待下載圖片的URL。
[0049]在本發(fā)明的一種實(shí)施例中,在該視圖中記錄待下載圖片的URL具體為,在視圖的標(biāo)簽的視圖持有適配器的URL屬性中記錄待下載圖片的URL。
[0050]步驟104,獲取視圖中的URL,根據(jù)URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除異步任務(wù)對(duì)應(yīng)的key和value (也就是移除該異步任務(wù)),重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載待下載的圖片,以待下載的圖片的URL為key,新創(chuàng)建的異步任務(wù)為value,將新創(chuàng)建的異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的URL。
[0051]在步驟104中,在獲取到的視圖不為空的情況下,即在獲取到的視圖中已經(jīng)存在了對(duì)應(yīng)的圖片的URL,通過獲取視圖中的URL,根據(jù)該URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除該異步任務(wù)對(duì)應(yīng)的key和value。
[0052]其中,在釋放獲取的異步任務(wù)占用的資源的過程中,還需要先判斷該異步任務(wù)的下載是否完成,如果沒有完成,則停止異步任務(wù)的下載操作,然后釋放該異步任務(wù)占用的資源,在緩存中移除該異步任務(wù)對(duì)應(yīng)的key和value。如果異步任務(wù)的下載已經(jīng)完成,該異步任務(wù)會(huì)自動(dòng)從緩存中移除,即自動(dòng)在緩存中移除該異步任務(wù)對(duì)應(yīng)的key和value。
[0053]在緩存中移除對(duì)應(yīng)的異步任務(wù)之后,重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載待下載的圖片,以待下載的圖片的URL為key,新創(chuàng)建的異步任務(wù)為value,將新創(chuàng)建的異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的URL。
[0054]在本發(fā)明的實(shí)施例中,從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與待下載的圖片對(duì)應(yīng)的視圖時(shí),即重用該滑出屏幕的視圖,其中,重用的過程具體為:
[0055]獲取該重用的視圖中的URL,根據(jù)該URL從緩存中查找對(duì)應(yīng)的異步任務(wù),在緩存中移除該異步任務(wù)對(duì)應(yīng)的key和value,根據(jù)待下載圖片創(chuàng)建異步任務(wù),以待下載的圖片的URL為key,對(duì)應(yīng)的異步任務(wù)為value,將新創(chuàng)建的異步任務(wù)保存在緩存中;在該重用的視圖中添加待下載的圖片的URL。
[0056]在步驟104中,即在獲取到的視圖不為空的情況下,獲取該視圖中的URL具體包括:獲取該視圖的標(biāo)簽的視圖持有適配器,查找到視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
[0057]在本發(fā)明的一種實(shí)施例,智能終端的屏幕的視圖列表中包含M個(gè)視圖(例如,根據(jù)智能終端的屏幕大小不同,有的智能終端視圖列表包含9個(gè)視圖,有的是10個(gè)或15個(gè));則緩存中保存的異步任務(wù)的個(gè)數(shù)小于等于M (可以根據(jù)具體智能終端屏幕顯示調(diào)試不同而自動(dòng)調(diào)整),其中,M為正整數(shù)。由于智能終端的緩存資源十分寶貴,為了有效利用智能終端的緩存資源,將滑出智能終端屏幕的視圖重用,即將滑出智能終端的視圖用來顯示新的待下載圖片,使得異步任務(wù)的個(gè)數(shù)小于等于智能終端顯示的視圖的個(gè)數(shù)。本申請(qǐng)不使用如AsyncTask 一樣的線程隊(duì)列。
[0058]圖2是本發(fā)明中一種實(shí)施例中的智能終端中異步加載圖片的詳細(xì)流程圖,步驟如下。
[0059]步驟201,根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與待下載的圖片對(duì)應(yīng)的視圖。
[0060]在上述步驟中,由于在本發(fā)明中只設(shè)置智能終端的屏幕能顯示的視圖個(gè)數(shù)對(duì)應(yīng)的異步任務(wù),設(shè)置智能終端的屏幕的視圖列表中的視圖可以重用,舉例為,智能終端的屏幕收到滑動(dòng)視圖列表操作后,智能終端的屏幕的視圖列表中的全部或部分視圖滑出屏幕時(shí),從視圖列表中獲取滑出屏幕的視圖,以該視圖作為與待下載的圖片對(duì)應(yīng)的視圖。其中,重用的視圖一定是在智能終端的屏幕視圖列表中最先滑出的屏幕的視圖。
[0061]步驟202,判斷視圖是否為空;如果為空進(jìn)行步驟203,如果不為空進(jìn)行步驟204。
[0062]在步驟202中,判斷視圖是否為空的操作可以具體為,在繼承了適配器Adapter的獲取視圖接口 getview中獲取與待下載圖片對(duì)應(yīng)的視圖,在獲取視圖接口中判斷所獲取到的視圖是否為空。其中,視圖為空表示該視圖中沒有添加待下載圖片的URL ;視圖不為空表示該視圖中添加有待下載圖片的URL。
[0063]步驟203,創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載待下載的圖片,以待下載的圖片的URL為key,異步任務(wù)為value,將異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的 URL。
[0064]在步驟203中,視圖中記錄待下載的圖片的URL具體為,在視圖的標(biāo)簽Tag的視圖持有適配器viewHolder的URL屬性中記錄待下載圖片的URL,即在視圖中創(chuàng)建一個(gè)視圖持有適配器,然后將待下載圖片的URL添加到視圖持有適配器的屬性中。
[0065]步驟204,獲取視圖中的URL,根據(jù)該URL從緩存中查找對(duì)應(yīng)的異步任務(wù)。
[0066]在步驟204中,通過獲取視圖的標(biāo)簽的視圖持有適配器,然后查找到該視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
[0067]步驟205,判斷異步任務(wù)是否下載完成;如果是進(jìn)行步驟207,如果否進(jìn)行步驟206。
[0068]步驟206,停止異步任務(wù)的下載操作,執(zhí)行步驟207。
[0069]步驟207,釋放獲取的異步任務(wù)占用的資源,在緩存中移除異步任務(wù)對(duì)應(yīng)的key和Value0
[0070]在上述步驟206和步驟207中,在當(dāng)前的異步任務(wù)的下載完成后,直接釋放該異步任務(wù)占用的資源,以及自動(dòng)在緩存中移除該異步任務(wù)對(duì)應(yīng)的key和value,也就是移除該異步任務(wù)。在當(dāng)前的異步任務(wù)的下載未完成時(shí),先停止該異步任務(wù)的下載操作,然后釋放該異步任務(wù)占用的資源,再在緩存中移除異步任務(wù)對(duì)應(yīng)的key和value。以此減少對(duì)系統(tǒng)資源的占用。
[0071]在滑動(dòng)手機(jī)屏幕的視圖列表,使得該視圖列表中的全部或部分視圖滑出屏幕時(shí),將滑出屏幕的視圖作為與待下載的圖片對(duì)應(yīng)的視圖,如果該視圖不為空,則該視圖為重用的視圖;將該視圖中下載操作取消,即在緩存中刪除對(duì)應(yīng)的key和value,釋放異步任務(wù)占用的資源。這樣就能保證,在某個(gè)視圖在屏幕的視圖列表中消失時(shí),及時(shí)的取消與該視圖對(duì)應(yīng)的異步任務(wù),節(jié)省程序?qū)ο到y(tǒng)資源的消耗。并且保持異步任務(wù)的個(gè)數(shù)小于等于屏幕的視圖列表中的視圖個(gè)數(shù)。
[0072]步驟208,重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載待下載的圖片,以待下載的圖片的URL為key,新創(chuàng)建的異步任務(wù)為value,將新創(chuàng)建的異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的URL。
[0073]在本發(fā)明的具體實(shí)施例中,異步任務(wù)的個(gè)數(shù)取決于智能終端的屏幕的視圖列表中包含的視圖個(gè)數(shù)。智能終端的屏幕的視圖列表中包含M個(gè)視圖;則緩存中保存的異步任務(wù)的個(gè)數(shù)小于等于M,其中,M為正整數(shù)。
[0074]在本發(fā)明的其他實(shí)施例中,可以通過對(duì)智能終端的屏幕的視圖列表進(jìn)行調(diào)整,達(dá)到調(diào)整異步任務(wù)個(gè)數(shù)的目的。
[0075]圖3是本發(fā)明中一種實(shí)施例中的智能終端中異步加載圖片的系統(tǒng)結(jié)構(gòu)示意圖。如圖3所示,該系統(tǒng)包括:視圖獲取單元301、判斷單元302、處理單元303和異步任務(wù)創(chuàng)建單元 304。
[0076]視圖獲取單元301,用于根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與待下載的圖片對(duì)應(yīng)的視圖,指示判斷單元302對(duì)視圖進(jìn)行判斷;
[0077]判斷單元302,用于判斷視圖獲取單元301所指示的視圖是否為空;
[0078]處理單元303,用于在判斷單元302判斷視圖為空的情況下,通過異步任務(wù)創(chuàng)建單元304創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載待下載的圖片,在判斷單元302判斷視圖不為空的情況下,獲取視圖中的URL,根據(jù)URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除異步任務(wù)對(duì)應(yīng)的key和value,通過異步任務(wù)創(chuàng)建單元304重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載待下載的圖片。
[0079]異步任務(wù)創(chuàng)建單元304,用于創(chuàng)建異步任務(wù),以待下載的圖片的URL為key,異步任務(wù)為value,將異步任務(wù)保存在緩存中,在視圖中記錄待下載的圖片的URL。
[0080]在本發(fā)明的一種實(shí)施例中,視圖獲取單元301,用于在智能終端的屏幕收到滑動(dòng)視圖列表操作后,該視圖列表中的全部或部分視圖滑出屏幕時(shí),從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與待下載的圖片對(duì)應(yīng)的視圖。
[0081]在本發(fā)明的一種實(shí)施例中,判斷單元302,用于通過獲取視圖接口獲取與待下載圖片對(duì)應(yīng)的視圖,在獲取視圖接口中判斷所獲取到的視圖是否為空。
[0082]在本發(fā)明的一種實(shí)施例中,異步任務(wù)創(chuàng)建單元304,用于在視圖的標(biāo)簽的視圖持有適配器的URL屬性中記錄待下載圖片的URL。
[0083]在本發(fā)明的一種實(shí)施例中,處理單元303,用于獲取視圖的標(biāo)簽的視圖持有適配器,查找到視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
[0084]在本發(fā)明的一種實(shí)施例中,異步任務(wù)創(chuàng)建單元304,用于在智能終端的屏幕的視圖列表中包含M個(gè)視圖的情況下,在緩存中保存的異步任務(wù)的個(gè)數(shù)小于等于M,其中,M為正整數(shù)。
[0085]在本發(fā)明的一種實(shí)施例中,處理單元303,用于在釋放獲取的異步任務(wù)占用的資源前,判斷異步任務(wù)的下載是否完成,如果沒有完成,則停止異步任務(wù)的下載操作。
[0086]綜上所述,在本發(fā)明的技術(shù)方案中,根據(jù)待下載的圖片從智能終端的屏幕的視圖列表中獲取與該待下載的圖片對(duì)應(yīng)的視圖,先判斷獲取到的視圖是否為空,如果為空,則創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載待下載的圖片,如果不為空,根據(jù)視圖中URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除異步任務(wù)對(duì)應(yīng)的key和value,之后才創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載待下載的圖片。
[0087]這樣保證智能終端緩存中的異步任務(wù)不會(huì)多于屏幕的視圖列表中的視圖的個(gè)數(shù),使得當(dāng)視圖在屏幕上不可見時(shí),能夠及時(shí)的取消與該視圖對(duì)應(yīng)的異步任務(wù),釋放該異步任務(wù)占用的系統(tǒng)資源,將釋放的系統(tǒng)資源用于其他待下載圖片的下載操作。
[0088]由此,能夠解決現(xiàn)有技術(shù)中因?yàn)楫惒饺蝿?wù)過多而造成的運(yùn)彳丁各易出錯(cuò)、占用系統(tǒng)資源過大的技術(shù)問題,取得了降低運(yùn)行出錯(cuò)概率、節(jié)約智能終端中系統(tǒng)資源的有益效果。
[0089]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種智能終端中異步加載圖片的方法,其特征在于,該方法包括: 根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對(duì)應(yīng)的視圖,判斷所述視圖是否為空; 如果所述視圖為空,則創(chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載所述待下載的圖片,以所述待下載的圖片的URL為key,所述異步任務(wù)為value,將所述異步任務(wù)保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL ; 如果所述視圖不為空,則獲取所述視圖中的URL,根據(jù)所述URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除所述異步任務(wù)對(duì)應(yīng)的key和value,重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載所述待下載的圖片,以所述待下載的圖片的URL為key,所述新創(chuàng)建的異步任務(wù)為value,將所述新創(chuàng)建的異步任務(wù)保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,智能終端的屏幕收到滑動(dòng)視圖列表操作后,所述視圖列表中的全部或部分視圖滑出屏幕時(shí),所述從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對(duì)應(yīng)的視圖具體包括: 從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與所述待下載的圖片對(duì)應(yīng)的視圖。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述視圖中是否為空具體包括: 通過獲取視圖接口獲取與所述待下載圖片對(duì)應(yīng)的視圖,在所述獲取視圖接口中判斷所獲取到的視圖是否為空。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述在所述視圖中記錄所述待下載的圖片的URL包括: 在所述視圖的標(biāo)簽的視圖持有適配器的URL屬性中記錄所述待下載圖片的URL。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述視圖不為空,則獲取所述視圖中的URL具體包括: 獲取所述視圖的標(biāo)簽的視圖持有適配器,查找到所述視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述智能終端的屏幕的視圖列表中包含Μ個(gè)視圖;則緩存中保存的異步任務(wù)的個(gè)數(shù)小于等于Μ,其中,Μ為正整數(shù)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述釋放獲取的異步任務(wù)占用的資源前還包括: 判斷所述異步任務(wù)的下載是否完成,如果沒有完成,則停止所述異步任務(wù)的下載操作。
8.一種智能終端中異步加載圖片的系統(tǒng),其特征在于,該系統(tǒng)包括:視圖獲取單元、判斷單元、處理單元和異步任務(wù)創(chuàng)建單元; 所述視圖獲取單元,用于根據(jù)待下載的圖片,從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對(duì)應(yīng)的視圖,指示判斷單元對(duì)所述視圖進(jìn)行判斷; 所述判斷單元,用于判斷視圖獲取單元所指示的視圖是否為空; 所述處理單元,用于在判斷單元判斷視圖為空的情況下,通過所述異步任務(wù)創(chuàng)建單元?jiǎng)?chuàng)建異步任務(wù),通過創(chuàng)建的異步任務(wù)下載所述待下載的圖片;在判斷單元判斷視圖不為空的情況下,獲取所述視圖中的URL,根據(jù)所述URL從緩存中查找對(duì)應(yīng)的異步任務(wù),釋放獲取的異步任務(wù)占用的資源,在緩存中移除所述異步任務(wù)對(duì)應(yīng)的key和value,通過所述異步任務(wù)創(chuàng)建單元重新創(chuàng)建異步任務(wù),通過新創(chuàng)建的異步任務(wù)下載所述待下載的圖片; 所述異步任務(wù)創(chuàng)建單元,用于創(chuàng)建異步任務(wù),以所述待下載的圖片的URL為key,所述異步任務(wù)為value,將所述異步任務(wù)保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述視圖獲取單元,用于在智能終端的屏幕收到滑動(dòng)視圖列表操作后,所述視圖列表中的全部或部分視圖滑出屏幕時(shí),從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與待下載的圖片對(duì)應(yīng)的視圖; 所述判斷單元,用于通過獲取視圖接口獲取與所述待下載圖片對(duì)應(yīng)的視圖,在所述獲取視圖接口中判斷所獲取到的視圖是否為空。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于, 所述異步任務(wù)創(chuàng)建單元,用于在視圖的標(biāo)簽的視圖持有適配器的URL屬性中記錄待下載圖片的URL ; 所述處理單元,用于獲取視圖的標(biāo)簽的視圖持有適配器,查找到所述視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
【文檔編號(hào)】G06F9/445GK104252367SQ201310263700
【公開日】2014年12月31日 申請(qǐng)日期:2013年6月27日 優(yōu)先權(quán)日:2013年6月27日
【發(fā)明者】劉寶劍 申請(qǐng)人:北京新媒傳信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
环江| 巴彦县| 东海县| 聂荣县| 喀喇沁旗| 花莲市| 德兴市| 华蓥市| 沁源县| 监利县| 昂仁县| 怀来县| 体育| 双柏县| 梁河县| 太原市| 乐山市| 赤城县| 沙雅县| 高雄县| 乌兰察布市| 商水县| 恩施市| 青神县| 乐清市| 图们市| 唐河县| 夹江县| 巫溪县| 仙游县| 乳山市| 南和县| 嵩明县| 会同县| 七台河市| 永和县| 三河市| 津南区| 滁州市| 闻喜县| 平山县|