两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

圖片快速讀取方法

文檔序號:6365533閱讀:437來源:國知局
專利名稱:圖片快速讀取方法
技術(shù)領(lǐng)域
本發(fā)明涉及ー種文件讀取方法,尤其是一種圖片文件的快速讀取方法。
背景技術(shù)
目前,對于手機(jī)、車載汽車電子等設(shè)備,由于其硬件性能的限制,很難做到實(shí)時從文件中讀取圖片數(shù)據(jù)并顯示出來。特別是對于圖片的預(yù)覽,要同時讀取并顯示多張圖片的縮略圖,將會占用比較長的CPU時間,這這在實(shí)際應(yīng)用中,是不可接受的。由于軟件直接從外部存儲器中獲取數(shù)據(jù)比從內(nèi)存中獲取數(shù)據(jù)的速度慢很多。而對于一臺設(shè)備,考慮到成本的原因,內(nèi)存大小是受到限制,然而從文件中讀取圖片是需要一定的時間,為保證在讀取圖片的過程中主線程(或工作線程)不會發(fā)生假死的現(xiàn)象,圖片池管 理模塊需要建立專門的讀取線程,用于負(fù)責(zé)將圖片從文件中讀入到圖片池中。對于任何一臺設(shè)備,由于內(nèi)存上的限制,圖片池不可能做到無限大,這就需要圖片池對緩存的圖片按一定的策略進(jìn)行取舎。一般而言,對于ー組圖片,在屏幕上是不可能同時全部顯示出來的;并且,用戶對圖片的瀏覽一般也是依次進(jìn)行的,跳動瀏覽的情況比較少。對于這個問題,一種解決方法的是全面的提高硬件配置,但是這種方法帶來了兩個問題一是原有的ー些裝置,由于其硬件已經(jīng)定型,這種解決方法不適用;ニ是高硬件配置的裝置必然帶來高成本?;谏厦娴那闆r,市場急盼一種在不改變硬件的前提下,能夠快速讀取圖片的方法。

發(fā)明內(nèi)容
本發(fā)明針對上述設(shè)備普遍存在的缺點(diǎn),提出ー種新型圖片快速讀取方法。本發(fā)明采取的設(shè)計(jì)方案為
一種圖片快速讀取方法,包括開辟圖片池,所述的圖片池專門用于存儲圖片;采用及遠(yuǎn)原則釋放圖片池中圖片,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最遠(yuǎn)的圖片率先被釋放,所述的及遠(yuǎn)原則是指與當(dāng)前顯示圖片的距離越遠(yuǎn)釋放的優(yōu)先級越高;采取及近原則加載圖片進(jìn)圖片池,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最近的圖片率先被加載,所述的及近原則是指與當(dāng)前顯示圖片的距離越近加載的優(yōu)先級越高。一種優(yōu)選方案,還包括監(jiān)視當(dāng)前顯示圖片變化步驟,若當(dāng)前顯示圖片發(fā)生變化,則進(jìn)入所述的采用及遠(yuǎn)原則釋放圖片池中圖片,若當(dāng)前顯示圖片沒有發(fā)生變化,則繼續(xù)等待。一種優(yōu)選方案所述采用及遠(yuǎn)原則釋放圖片包括以下步驟圖片池是否存滿判斷步驟,若圖片池存滿,則進(jìn)入所述采用及遠(yuǎn)原則釋放圖片,若圖片池沒有存滿,則直接進(jìn)入所述采用及近原則加載圖片;采用及遠(yuǎn)原則,需找需要釋放圖片;是否找到符合條件圖片文件步驟,若有,則進(jìn)入釋放圖片步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟;釋放圖片步驟,把圖片從圖片池中釋放出來。一種優(yōu)選方案,所述的采取及近原則加載圖片進(jìn)圖片池包括以下步驟采用及近原則,尋找需要加載的文件;是否找到符合條件圖片文件步驟,若有,則進(jìn)入圖片大小處理步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟;圖片大小處理步驟,所述的圖片大小處理步驟用于把尺寸超大的圖片壓縮到圖片池所允許大?。患虞d圖片進(jìn)入圖片池。一種優(yōu)選方案,還包括圖片讀取過程若需被顯示的圖片已經(jīng)存儲于圖片池里,則從圖片池中讀取該圖片;若需被顯示的圖片池沒有存儲在圖片池里,則先讀出空圖片,等該圖片載入到圖片池后再讀出。一種優(yōu)選方案,所述的圖片池包括用于緩存縮略圖的縮略圖池和緩存正式圖片的正式圖池。
綜上所述,本發(fā)明具有以下顯著的有益效果
(I)本發(fā)明采用及遠(yuǎn)原則、及近原則對內(nèi)存圖片池子的圖片加載和釋放進(jìn)行控制,在同樣的內(nèi)存情況下,提高了對下ー個的顯示圖片的預(yù)判性,進(jìn)而提高了內(nèi)存的使用的有效性,提高了圖片的整體讀取速度;(2)本發(fā)明不帶來硬件的改變,不增加生產(chǎn)的成本,便于大規(guī)模推廣。


附圖I為本發(fā)明所述圖片快速讀取方法的工作流程 附圖2為本發(fā)明所述圖片快速讀取方法的圖片池工作示意圖。
具體實(shí)施例方式為了讓本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明作進(jìn)ー步闡述。一種圖片快速讀取方法,包括開辟圖片池,所述的圖片池專門用于存儲圖片;采用及遠(yuǎn)原則釋放圖片池中圖片,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最遠(yuǎn)的圖片率先被釋放。所述的及遠(yuǎn)原則是指與當(dāng)前顯示圖片的距離越遠(yuǎn)釋放的優(yōu)先級越高;采取及近原則加載圖片進(jìn)圖片池,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最近的圖片率先被加載,所述的及近原則是指與當(dāng)前顯示圖片的距離越近加載的優(yōu)先級越高。所述的距離是指兩個圖片序號的差值的絕對值,絕對值越大代表距離越遠(yuǎn)。還包括監(jiān)視當(dāng)前顯示圖片變化步驟,若當(dāng)前顯示圖片發(fā)生變化,則進(jìn)入所述的采用及遠(yuǎn)原則釋放圖片池中圖片,若當(dāng)前顯示圖片沒有發(fā)生變化,則繼續(xù)等待。所述采用及遠(yuǎn)原則釋放圖片包括以下步驟
圖片池是否存滿判斷步驟,若圖片池存滿,則進(jìn)入所述采用及遠(yuǎn)原則釋放圖片,若圖片池沒有存滿,則直接進(jìn)入所述采用及近原則加載圖片;采用及遠(yuǎn)原則,尋找需要釋放圖片;是否找到符合條件圖片文件步驟,若有,則進(jìn)入釋放圖片步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟;釋放圖片步驟,把圖片從圖片池中釋放出來。所述的采取及近原則加載圖片進(jìn)圖片池包括以下步驟采用及近原則,尋找需要加載的文件;是否找到符合條件圖片文件步驟,若有,則進(jìn)入圖片大小處理步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟;圖片大小處理步驟,所述的圖片大小處理步驟用于把尺寸超大的圖片壓縮到圖片池所允許大??;加載圖片進(jìn)入圖片池。圖片大小處理步驟對于規(guī)格不一的ー組圖片是ー個很必要的步驟,對于ー組圖片,尺寸是有大也有小,對于ー些較大的圖片,也許會占用太多的內(nèi)存,比如ー張4912X3264的32位圖片,將會占用掉約64MB的內(nèi)存空間,這在某些內(nèi)存較少的機(jī)器上是不允許的。所以,可以在圖片池上定義所允許載入圖片的最大尺寸,假如圖片的實(shí)際尺寸超出所允許的最大尺寸,則將圖片縮小到允許的最大尺寸后,再放到圖片池中。還包括圖片讀取過程若需被顯示的圖片已經(jīng)存儲于圖片池里,則從圖片池中讀取該圖片;若需被顯示的圖片池沒有存儲在圖片池里,則先讀出空圖片,等該圖片載入到圖片池后再讀出。假如外部程序需要顯示圖片k,而圖片k尚未載入到圖片池中,那么,外部程序?qū)@取到空的圖片。此時,外部程序?qū)⒉伙@示圖片,直到k圖片載入到了圖片池,由圖片池管理模塊發(fā)送消息到外部程序,外部程序響應(yīng)消息,再刷新顯示k圖片。所述的圖片池包括用于緩存縮略圖的縮略圖池和緩存正式圖片的正式圖池。對于既有圖庫預(yù)覽,又有圖片查看功能的程序,需要建立兩個圖片池。其中一個圖片池用來存儲預(yù)覽的縮略圖,這里稱為“縮略圖池”,由于縮略圖的尺寸一般很小,可以依據(jù)可使用內(nèi)存的大小,設(shè)置為允許存儲幾十到幾百張的縮略圖;而另ー個圖片池用來存儲正式查看的圖片,這里稱為“正式圖池”,對于正式圖池,也可依據(jù)可使用內(nèi)存的大小,分配3-10張的存儲空間。這兩個圖片池是獨(dú)立存在的。當(dāng)用戶點(diǎn)擊某張縮略圖進(jìn)入到圖片查看時,假如對應(yīng)的正式圖片已載入到圖片池中,則顯示正式的圖片;否則的話,從縮略圖池中取出圖片的縮略圖,放大顯示,用于代替正式圖。直到正式圖片載入到圖片池后,再從正式圖池中取出正式圖片來顯示。這樣的做法,將會給用戶更好的視覺效果。對于及遠(yuǎn)原則、及近原則參照附圖2,現(xiàn)假設(shè)圖片池可以緩存n張圖片,假如當(dāng)前瀏覽的圖片為第k張圖片,則可以將(k-n/2,k+n/2)范圍內(nèi)的圖片載入到圖片池中供備用。只有當(dāng)用戶當(dāng)前瀏覽的圖片發(fā)送了變化之后,再調(diào)整圖片池中的圖片,將超出范圍的圖片刪除掉,并將已在新的(k-n/2,k+n/2)范圍內(nèi),將[U1]如圖2中所示,圖片池容量為7張圖片,當(dāng)以第K張文件為中心,載入的順序?yàn)?、11、5,釋放的順序是15、2、14。圖片加載的策略(及近原則)對于需要載入到圖片池中的圖片,也是需要確定載入的先后順序。為保證使用者有更好的感受,當(dāng)前需要瀏覽的圖片(k)要首先確保加載到圖片池中。對于其他的圖片,采用“及近”的原則進(jìn)行加載,即采用從k處開始,向左右兩邊擴(kuò)散查找的方式,將找到的尚未載入到圖片池中的文件載入到圖片池。然后繼續(xù)擴(kuò)散查找,直到所有需要載入的文件均已經(jīng)載入,載入線程才暫停工作。圖片釋放的策略(及遠(yuǎn)原則)當(dāng)(k)發(fā)生變化后,圖片池緩存的范圍將發(fā)生變化。這時,已經(jīng)載入到圖片池,但不再屬于(k-n/2,k+n/2)范圍內(nèi)的圖片是需要釋放的,但也不必要立即被釋放棹。載入線程將繼續(xù)在(k-n/2,k+n/2)范圍內(nèi)載入圖片,只有當(dāng)圖片池已經(jīng)裝滿,才開始釋放掉不在(k-n/2,k+n/2)范圍內(nèi)的圖片。釋放采用“以ー換一”的原貝U,即每需要載入ー張新的圖片,則釋放掉ー張老的圖片來為新的圖片提供空間,其他的老圖片暫時保持。對于需要釋放圖片的選取,這里采用“及遠(yuǎn)”的原則,即離(k)最遠(yuǎn)的圖片,將會被首先選中釋放。本申請的方法可以理解為通過計(jì)算機(jī)程序得以實(shí)現(xiàn),但不限定于必須通過計(jì)算機(jī)程序得以實(shí)現(xiàn)。 參見附圖1,本發(fā)明的一個實(shí)施例,包括以下步驟
A:圖片載入線程啟動;B :進(jìn)行線程是否需要停止判斷,若需要停止,則結(jié)束線程,若不需要則進(jìn)入下ー步驟;C:圖片池已經(jīng)緩存的圖片數(shù)量是否大于等于最大可緩存的圖片數(shù)量判斷,若圖片池存滿,則進(jìn)入所述采用及遠(yuǎn)原則,尋找需要釋放圖片步驟,若圖片池沒有存滿,則直接進(jìn)入所述采用及近原則,尋找需要加載的文件步驟;
D :采用及遠(yuǎn)原則,獲取需要釋放圖片;
E:是否找到符合條件的圖片步驟,若有,則進(jìn)入釋放圖片步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前 顯示圖片變化步驟;
F:釋放圖片步驟,把圖片從圖片池中釋放出來;
G:采用及近原則,尋找需要加載的文件;
H:是否找到符合加載條件圖片文件步驟,若有,則進(jìn)入加載圖片進(jìn)入圖片池步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟;
I加載圖片進(jìn)入圖片池,返回B步驟;
J監(jiān)視當(dāng)前顯示圖片變化步驟,當(dāng)?shù)却?dāng)前位置(k)發(fā)生改變,或線程停止標(biāo)志發(fā)生改變,則進(jìn)入B步驟,若無需繼續(xù)載入圖片,圖片載入線程掛起。需要說明的是,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.圖片快速讀取方法,其特征在于,包括 開辟圖片池,所述的圖片池專門用于存儲圖片; 采用及遠(yuǎn)原則釋放圖片池中圖片,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最遠(yuǎn)的圖片率先被釋放,所述的及遠(yuǎn)原則是指與當(dāng)前顯示圖片的距離越遠(yuǎn)釋放的優(yōu)先級越聞; 采取及近原則加載圖片進(jìn)圖片池,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最近的圖片率先被加載,所述的及近原則是指與當(dāng)前顯示圖片的距離越近加載的優(yōu)先級越聞。
2.根據(jù)權(quán)利要求I所述的圖片快速讀取方法,其特征在于還包括監(jiān)視當(dāng)前顯示圖片變化步驟,若當(dāng)前顯示圖片發(fā)生變化,則進(jìn)入所述的采用及遠(yuǎn)原則釋放圖片池中圖片,若當(dāng)前顯示圖片沒有發(fā)生變化,則繼續(xù)等待。
3.根據(jù)權(quán)利要求2所述的圖片快速讀取方法,其特征在于,所述采用及遠(yuǎn)原則釋放圖片包括以下步驟 圖片池是否存滿判斷步驟,若圖片池存滿,則進(jìn)入所述采用及遠(yuǎn)原則釋放圖片,若圖片池沒有存滿,則直接進(jìn)入所述采用及近原則加載圖片; 采用及遠(yuǎn)原則,需找需要釋放圖片; 是否找到符合條件圖片文件步驟,若有,則進(jìn)入釋放圖片步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟; 釋放圖片步驟,把圖片從圖片池中釋放出來。
4.根據(jù)權(quán)利要求2所述的圖片快速讀取方法,其特征在于,所述的采取及近原則加載圖片進(jìn)圖片池包括以下步驟 采用及近原則,尋找需要加載的文件; 是否找到符合條件圖片文件步驟,若有,則進(jìn)入圖片大小處理步驟,若沒有則進(jìn)入監(jiān)視當(dāng)前顯示圖片變化步驟; 圖片大小處理步驟,所述的圖片大小處理步驟用于把尺寸超大的圖片壓縮到圖片池所允許大?。? 加載圖片進(jìn)入圖片池。
5.根據(jù)權(quán)利要求1-4任何一項(xiàng)所述的圖片快速讀取的方法,其特征在于,還包括圖片讀取過程 若需被顯示的圖片已經(jīng)存儲于圖片池里,則從圖片池中讀取該圖片; 若需被顯示的圖片池沒有存儲在圖片池里,則先讀出空圖片,等該圖片載入到圖片池后再讀出。
6.根據(jù)權(quán)利要求5所述的圖片快速讀取方法,其特征在于所述的圖片池包括用于緩存縮略圖的縮略圖池和緩存正式圖片的正式圖池。
全文摘要
本發(fā)明公開了圖片快速讀取方法,包括開辟圖片池,所述的圖片池專門用于存儲圖片;采用及遠(yuǎn)原則釋放圖片池中圖片,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最遠(yuǎn)的圖片率先被釋放,所述的及遠(yuǎn)原則是指與當(dāng)前顯示圖片的距離越遠(yuǎn)釋放的優(yōu)先級越高;采取及近原則加載圖片進(jìn)圖片池,是指按照圖片排列順序,與當(dāng)前顯示圖片的距離最近的圖片率先被加載,所述的及近原則是指與當(dāng)前顯示圖片的距離越近加載的優(yōu)先級越高;本發(fā)明具有圖片讀取快,不增加硬件成本,利用大規(guī)模推廣的優(yōu)點(diǎn)。
文檔編號G06F17/30GK102629254SQ20121004930
公開日2012年8月8日 申請日期2012年2月29日 優(yōu)先權(quán)日2012年2月29日
發(fā)明者何平, 唐僑, 徐青松, 鄒玉蘭 申請人:惠州市德賽西威汽車電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
芷江| 大足县| 顺义区| 威远县| 阳谷县| 筠连县| 大荔县| 罗源县| 衡水市| 东乌珠穆沁旗| 从化市| 富民县| 新平| 漾濞| 迁西县| 大悟县| 湘潭县| 盘锦市| 开阳县| 蒙城县| 子洲县| 高碑店市| 拜城县| 鹤壁市| 双鸭山市| 无为县| 肇庆市| 阳朔县| 朝阳县| 观塘区| 察哈| 府谷县| 广德县| 兴安盟| 鄂伦春自治旗| 芒康县| 垦利县| 枣庄市| 宜兰县| 济南市| 彰武县|