[發明專利]一種智能終端中異步加載圖片的方法和系統有效
| 申請號: | 201310263700.5 | 申請日: | 2013-06-27 |
| 公開(公告)號: | CN104252367B | 公開(公告)日: | 2017-12-19 |
| 發明(設計)人: | 劉寶劍 | 申請(專利權)人: | 北京新媒傳信科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京市隆安律師事務所11323 | 代理人: | 權鮮枝,董垚 |
| 地址: | 100089 北京市海淀區萬*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 智能 終端 異步 加載 圖片 方法 系統 | ||
技術領域
本發明涉及計算機智能終端技術領域,特別是涉及一種智能終端中異步加載圖片的方法和系統。
背景技術
現在安卓系統下的應用軟件中存在的很大一部分都是需要客戶端和服務器之間進行交互,即通過客戶端訪問網絡。在訪問網絡的時候,就會存在客戶端下載網絡圖片到本地并顯示在智能終端屏幕的窗口上的情況。
現有的技術中,客戶端在下載網絡圖片的過程中,通常采用的技術方案分為兩種:一種通過自己構造線程和線程池;另一種是利用現成的異步任務AsyncTask。
其中,在第一種方案中,每次下載都要去重新構造一個線程,然后自己做一個獨立的線程池,去控制線程的個數。在該方案中,需要提前編寫代碼量會很多,并且是自己控制線程的個數,在應用運行時容易出現各種問題。
在第二種方案中,使用現成的AsyncTask;由于AsyncTask本身就是一個線程池機制,默認允許運行的線程是5個,線程隊列里面可以排隊線程是128個,超過這個數目,程序會拋出異常。由于智能終端內存是非常珍貴資源,如果對每個下載任務都構造一個AsyncTask,這樣會導致下載任務過大的占用智能終端的內存,不利于智能終端的其他應用的使用。并且如果不對AsyncTask的數量進行控制,一旦數目超過128個,那么應用程序就會出現異常。
綜上所述,現有的智能終端中的異步加載圖片的技術方案存在容易出錯、占用系統資源過大的問題。
發明內容
本發明提供了一種智能終端中異步加載圖片的方法和系統,本發明提供的技術方案能夠解決現有方法存在容易出錯、占用系統資源過大的問題。
為達到所述目的,本發明的技術方案是這樣實現的:
本發明公開了一種智能終端中異步加載圖片的方法,該方法包括:
根據待下載的圖片,從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對應的視圖,判斷所述視圖是否為空;
如果所述視圖為空,則創建異步任務,通過創建的異步任務下載所述待下載的圖片,以所述待下載的圖片的URL為key,所述異步任務為value,將所述異步任務保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL;
如果所述視圖不為空,則獲取所述視圖中的URL,根據所述URL從緩存中查找對應的異步任務,釋放獲取的異步任務占用的資源,在緩存中移除所述異步任務對應的key和value,重新創建異步任務,通過新創建的異步任務下載所述待下載的圖片,以所述待下載的圖片的URL為key,所述新創建的異步任務為value,將所述新創建的異步任務保存在緩存中,在所述視圖中記錄所述待下載的圖片的URL。
在上述方法中,智能終端的屏幕收到滑動視圖列表操作后,所述視圖列表中的全部或部分視圖滑出屏幕時,所述從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對應的視圖具體包括:
從智能終端的屏幕視圖列表中獲取滑出屏幕的視圖,以該視圖作為與所述待下載的圖片對應的視圖。
在上述方法中,所述判斷所述視圖中是否為空具體包括:
通過獲取視圖接口獲取與所述待下載圖片對應的視圖,在所述獲取視圖接口中判斷所獲取到的視圖是否為空。
在上述方法中,所述在所述視圖中記錄所述待下載的圖片的URL包括:
在所述視圖的標簽的視圖持有適配器的URL屬性中記錄所述待下載圖片的URL。
在上述方法中,所述視圖不為空,則獲取所述視圖中的URL具體包括:
獲取所述視圖的標簽的視圖持有適配器,查找到所述視圖持有適配器中URL屬性,取出URL屬性中記錄的URL。
在上述方法中,所述智能終端的屏幕的視圖列表中包含M個視圖;則緩存中保存的異步任務的個數小于等于M,其中,M為正整數。
在上述方法中,所述釋放獲取的異步任務占用的資源前還包括:
判斷所述異步任務的下載是否完成,如果沒有完成,則停止所述異步任務的下載操作。
本發明公開了一種智能終端中異步加載圖片的系統,該系統包括:
視圖獲取單元、判斷單元、處理單元和異步任務創建單元;
所述視圖獲取單元,用于根據待下載的圖片,從智能終端的屏幕的視圖列表中獲取與所述待下載的圖片對應的視圖,指示判斷單元對所述視圖進行判斷;
所述判斷單元,用于判斷視圖獲取單元所指示的視圖是否為空;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京新媒傳信科技有限公司,未經北京新媒傳信科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310263700.5/2.html,轉載請聲明來源鉆瓜專利網。





