本發(fā)明涉及一種緩存優(yōu)化方法,特別是涉及一種Android系統(tǒng)中的圖片緩存優(yōu)化方法。
背景技術(shù):
:Android是目前擁有用戶量最多的移動智能終端操作系統(tǒng),也是一種完全開源的系統(tǒng),其應(yīng)用開發(fā)已經(jīng)十分成熟。Android系統(tǒng)是一種基于Linux的開源操作系統(tǒng),主要用于智能手機和平板電腦等移動終端設(shè)備,它是由谷歌的OHA(OpenHandsetAlliance,開放手持設(shè)備聯(lián)盟)領(lǐng)導(dǎo)開發(fā)的。2007年11月,Google與80多家電信運營商、開發(fā)商和設(shè)備制造商成立了OHA聯(lián)盟來共同研發(fā)Android系統(tǒng),并在之后免費開放了其原始代碼的授權(quán)許可,發(fā)布了Android原碼,于是眾多手機設(shè)備生產(chǎn)商紛紛推出了搭載Android系統(tǒng)的智能手機,隨后將Android不斷拓展到了平板電腦等移動設(shè)備上,使得Android系統(tǒng)在市場上的占有率不斷攀升,超越Symbian系統(tǒng)成為全球用戶占有率最大的智能手機操作系統(tǒng)。移動終端和互聯(lián)網(wǎng)中的Web服務(wù)器之間進行通信,就會從服務(wù)器端獲取數(shù)據(jù),然而反復(fù)通過網(wǎng)絡(luò)獲取數(shù)據(jù)是比較耗時的,特別是當(dāng)訪問過多的時候會極大的影響到服務(wù)器的性能。遠程獲取數(shù)據(jù)是移動終端經(jīng)常需要使用的重要功能模塊,緩存數(shù)據(jù)往往會消耗比較多的流量,特別是圖片資源。而且對應(yīng)用程序來說,如果處理不好,在非WIFI網(wǎng)絡(luò)下會大量消耗用戶有限的流量。因此,在移動終端引入緩存機制來減少頻繁的網(wǎng)絡(luò)操作,能有效的減少流量消耗、提升性能。對于基于Android系統(tǒng)的移動終端而言,要想實現(xiàn)資源的緩存就需要選擇相應(yīng)的緩存策略,高效的緩存策略是采取內(nèi)存緩存和文件緩存結(jié)合的方式。內(nèi)存緩存作為最重要的緩存機制同時也是最先被讀取的數(shù)據(jù)資源,其應(yīng)用非常廣泛。但相較于PC端的內(nèi)存緩存,移動終端由于內(nèi)存受限,每個應(yīng)用的堆內(nèi)存大小有限,Android系統(tǒng)一般為16M-48M(視平臺而定),而且內(nèi)存緩存容易造成堆內(nèi)存泄露。文件緩存機制是利用相對充足的本地磁盤存儲空間來緩存資源,通過在緩存時記錄對象的本地存儲路徑信息和網(wǎng)絡(luò)資源地址,可以在下次讀取數(shù)據(jù)時直接從本地數(shù)據(jù)庫中查找。而且,磁盤存儲的時間還可以進行管理。但是,并不意味著可以進行大量的本地緩存,本地緩存的容量越大其讀取的效率會越低。因此,合理的選擇本地緩存容量也十分重要。目前,既有的緩存方式只是針對本地存儲的緩存方式,要實現(xiàn)快速緩存和快速顯示的目的,更需要關(guān)注的是如何減小需要緩存的文件的大小。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提供一種Android系統(tǒng)中的圖片緩存優(yōu)化方法。本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下:一種Android系統(tǒng)中的圖片緩存優(yōu)化方法,適用于具有多種無線網(wǎng)絡(luò)連接方式的Android系統(tǒng),包括如下步驟:S1、找出具有最高帶寬的網(wǎng)絡(luò)類型;S2、計算待緩存圖片的預(yù)期傳輸時間;S3、計算待緩存圖片的壓縮因子;S4、對待緩存圖片進行壓縮和傳輸。進一步的,步驟S1中,網(wǎng)絡(luò)類型的劃分采用如下方式:劃分2G、2.5G、2.75G的網(wǎng)絡(luò)類型為N1,3G的網(wǎng)絡(luò)類型為N2,4G的網(wǎng)絡(luò)類型為N3,無線WIFI網(wǎng)絡(luò)的網(wǎng)絡(luò)類型為N4,其它高速無線網(wǎng)絡(luò)的網(wǎng)絡(luò)類型為N5;每種網(wǎng)絡(luò)類型具有一個屬性W,令N1的屬性為W(N1),N2的屬性為W(N2),N3的屬性為W(N3),N4的屬性為W(N4),N5的屬性W為W(N5)。進一步的,步驟S1中,求出Android系統(tǒng)中具有最大帶寬的網(wǎng)絡(luò)類型的公式如下:Max(W(Ni)*S(Ni)),i∈{1,2,3,4,5}公式(1)其中,Max()函數(shù)是求取最大值函數(shù),用于找到最大值,S(Ni)是網(wǎng)絡(luò)類型Ni在該Android系統(tǒng)中的信號強度系數(shù),S(Ni)∈[0,1];將上述公式(1)計算得到的具有最高帶寬的網(wǎng)絡(luò)類型記為Nj,j∈{1,2,3,4,5}。優(yōu)選的,使用公式(1)計算具有最高帶寬的網(wǎng)絡(luò)類型時,如果有兩個或者兩個以上的最大值,則取i最大的網(wǎng)絡(luò)類型。進一步的,步驟S2中,所述待緩存圖片為將要在Android系統(tǒng)中進行緩存的圖片,所述待緩存圖片的預(yù)期傳輸時間通過以下公式計算:其中,f為待緩存圖片的大小。進一步的,步驟S3中,待緩存圖片的壓縮因子通過以下公式計算:其中,δ表示待緩存圖片的壓縮因子,R為限定傳輸時間,用于表示Android系統(tǒng)對待緩存圖片傳輸時間的要求;σ為傳輸容忍系數(shù),用于表示Android系統(tǒng)能夠容忍的待緩存圖片傳輸?shù)难舆t時間;Hp為命中情況,用于表示待緩存圖片在緩存空間中是否已有可用的版本,若已有可用版本時取值為1,否則取值為0。進一步的,步驟S4中,對待緩存圖片進行壓縮和傳輸包括:如果待緩存圖片在緩存空間中已有可用的版本,則Hp=1,此時,δ=∞,表示待緩存圖片不用再進行緩存,也不需要進行傳輸;如果待緩存圖片在緩存空間中沒有可用的版本,則Hp=0,此時,將δ發(fā)送到服務(wù)器,由服務(wù)器對待緩存圖片進行壓縮,壓縮比例為δ,壓縮完成后滿足:f′<f*δ其中,f′表示壓縮后的待緩存圖片的大?。粔嚎s后的待緩存圖片由服務(wù)器發(fā)送給Android系統(tǒng),Android系統(tǒng)進行緩存。本發(fā)明具有的有益的效果是:通過分析網(wǎng)絡(luò)帶寬并根據(jù)網(wǎng)絡(luò)帶寬的大小來確定需要進行緩存的圖片大小,并且待緩存的圖片通過服務(wù)器的壓縮后再進行傳輸,從而減少了傳輸時間,提高了緩存的效率。本發(fā)明的圖片緩存優(yōu)化方法,具有如下優(yōu)點:1)高效性,減少了所需傳輸?shù)膱D片文件的大小,同時減少了傳輸?shù)臅r間和需要緩存的圖片文件的大小,從而提高了緩存效率。2)實用性,通過少量的計算即可完成優(yōu)化工作,有利于本方法轉(zhuǎn)化為具體的應(yīng)用實現(xiàn),具有良好的實用性。附圖說明圖1為本發(fā)明的圖片緩存優(yōu)化方法的流程示意圖。具體實施方式為了進一步理解本發(fā)明,下面結(jié)合實施例對本發(fā)明優(yōu)選實施方案進行描述,但是應(yīng)當(dāng)理解,這些描述只是為進一步說明本發(fā)明的特征和優(yōu)點,而不是對本發(fā)明權(quán)利要求的限制。本發(fā)明提供了一種Android系統(tǒng)中的圖片緩存優(yōu)化方法,如附圖1所示,其具體包括如下流程。1)找到具有最高帶寬的網(wǎng)絡(luò)類型在移動網(wǎng)絡(luò)中,目前主要包括了2G、2.5G、2.75G、3G、4G和無線WIFI網(wǎng)絡(luò),以及其他高速無線網(wǎng)絡(luò)。將上述移動網(wǎng)絡(luò)劃分為五類網(wǎng)絡(luò)類型,2G、2.5G、2.75G的網(wǎng)絡(luò)類型為N1,3G的網(wǎng)絡(luò)類型為N2,4G的網(wǎng)絡(luò)類型為N3,無線WIFI網(wǎng)絡(luò)的網(wǎng)絡(luò)類型為N4,其他高速無線網(wǎng)絡(luò)的網(wǎng)絡(luò)類型為N5。每種網(wǎng)絡(luò)類型具有一個屬性W,N1的屬性W為W(N1),N2的屬性W為W(N2),N3的屬性W為W(N3),N4的屬性W為W(N4),N5的屬性W為W(N5)。網(wǎng)絡(luò)類型、移動網(wǎng)絡(luò)與網(wǎng)絡(luò)類型的對應(yīng)關(guān)系、網(wǎng)絡(luò)類型與屬性的關(guān)系如下表1所示。表1網(wǎng)絡(luò)類型序號網(wǎng)絡(luò)類型移動網(wǎng)絡(luò)屬性1N12G、2.5G、2.75GW(N1)2N23GW(N2)3N34GW(N3)4N4無線WIFI網(wǎng)絡(luò)W(N4)5N5其他高速無線網(wǎng)絡(luò)W(N5)對于具有多種無線網(wǎng)絡(luò)連接方式的Android系統(tǒng),使用下式求出該Android系統(tǒng)中具有最大帶寬的網(wǎng)絡(luò)類型:Max(W(Ni)*S(Ni)),i∈{1,2,3,4,5}公式(1)其中,Max()函數(shù)是求取最大值函數(shù),可以用來找到最大值。特別的,如果有兩個或者兩個以上的最大值,則取i最大的網(wǎng)絡(luò)類型。S(Ni)是網(wǎng)絡(luò)類型Ni在該Android系統(tǒng)中的信號強度系數(shù),S(Ni)∈[0,1]S(Ni)取值越大,表示網(wǎng)絡(luò)類型的信號強大越大。當(dāng)S(Ni)=0時,表示Ni無法用來進行通信;當(dāng)S(Ni)=1時,表示Ni具有該網(wǎng)絡(luò)類型的信號強大達到其自身所能支持的最大值。根據(jù)公式(1)的計算,所求出的具有最大寬帶的網(wǎng)絡(luò)類型記為Nj,j∈{1,2,3,4,5}。2)計算待緩存圖片的預(yù)期傳輸時間對于將要在Android系統(tǒng)中進行緩存的圖片,稱為待緩存圖片。待緩存圖片的預(yù)期傳輸時間通過以下公式計算:其中,f為待緩存圖片的大小。3)計算待緩存圖片壓縮因子待緩存圖片壓縮因子δ通過以下公式計算:其中,R為限定傳輸時間,用來表示Android系統(tǒng)對待緩存圖片傳輸時間的要求;σ為傳輸容忍系數(shù),用來表示Android系統(tǒng)能夠容忍的待緩存圖片傳輸?shù)难舆t時間;Hp為命中情況,表示待緩存圖片在緩存空間中是否已有可用的版本,命中時取值為1,未命中時取值為0。4)對待緩存圖片進行壓縮和傳輸如果待緩存圖片在緩存空間中已有可用的版本,則Hp=1,δ=∞,表示此時不用再進行緩存,也不需要進行傳輸。如果待緩存圖片在緩存空間中沒有可用的版本,則Hp=0,將計算出的δ發(fā)送到服務(wù)器,由服務(wù)器對待緩存圖片進行壓縮,壓縮比例為δ,壓縮完成后滿足:f′<f*δ其中,f′表示壓縮后的待緩存圖片的大小。壓縮后的待緩存圖片由服務(wù)器發(fā)送給Android系統(tǒng),Android系統(tǒng)進行緩存。采用這種方法,減少了圖片傳輸時間,提高了緩存的效率。以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。當(dāng)前第1頁1 2 3