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

基于界面生命周期回收?qǐng)D片的方法和裝置的制作方法

文檔序號(hào):6385448閱讀:200來源:國(guó)知局
專利名稱:基于界面生命周期回收?qǐng)D片的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及到智能電視技術(shù)領(lǐng)域,特別涉及到一種基于界面生命周期回收?qǐng)D片的方法和裝置。
背景技術(shù)
智能應(yīng)用中有很多豐富多彩的界面,而這些界面的展現(xiàn)大多需要許多圖片去構(gòu)建。與通常的平板電腦或者移動(dòng)終端等設(shè)備相比,電視機(jī)的顯示屏幕更大,一些高清圖片解碼后會(huì)占用極大的內(nèi)存空間,對(duì)于這些圖片若不及時(shí)釋放,則很容易出現(xiàn)OOM (Out ofmemory,內(nèi)存溢出)異常。目前,Android系統(tǒng)通常是通過Low Memory Killer (低內(nèi)存管理器)來管理內(nèi)存,如果不手動(dòng)釋放內(nèi)存中的圖片,則只能等到內(nèi)存不夠時(shí),系統(tǒng)再來自動(dòng)回收,但是這樣會(huì)導(dǎo)致如下問題一、資源浪費(fèi)很多圖片可能只看了一次,但是卻要在內(nèi)存中占很長(zhǎng)一段時(shí)間;二、應(yīng)用所需內(nèi)存大由于圖片占用大量的內(nèi)存,使得該應(yīng)用對(duì)資源的需求較大;三、容易出現(xiàn)OOM異常當(dāng)圖片積攢到單個(gè)應(yīng)用內(nèi)存限制的上限時(shí),就會(huì)報(bào)OOM異常;四、如果使用常用的單個(gè)手動(dòng)釋放,當(dāng)這個(gè)界面再次運(yùn)行的時(shí)候,如果不再次給ImageView (展示圖片的控件)賦予新的Bitmap值(位圖值),將會(huì)出現(xiàn)運(yùn)行異常。

發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種基于界面生命周期回收?qǐng)D片的方法和裝置,旨在根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,實(shí)現(xiàn)對(duì)圖片資源的精確管理和控制。本發(fā)明提供一種基于界面生命周期回收?qǐng)D片的方法,包括當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與所述當(dāng)前界面對(duì)應(yīng)的圖片,力口載并顯示所述圖片,所述圖片管理器用于存儲(chǔ)與所述當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù);根據(jù)所述圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。優(yōu)選地,所述界面數(shù)據(jù)包括界面名稱、與所述當(dāng)前界面對(duì)應(yīng)的圖片資源,以及所述圖片的存儲(chǔ)路徑。優(yōu)選地,所述當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與所述當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示所述圖片包括當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與所述當(dāng)前界面對(duì)應(yīng)的圖片,若是,從圖片管理器中提取所述圖片;若否,根據(jù)圖片管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取所述圖片。優(yōu)選地,在所述當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與所述當(dāng)前界面對(duì)應(yīng)的圖片之后,還包括若圖片管理器中存在與當(dāng)前界面相應(yīng)的圖片,則記錄所述圖片對(duì)應(yīng)的加載次數(shù);所述根據(jù)所述圖片的加載時(shí)間,設(shè)置圖片的權(quán)值,包括根據(jù)所述圖片的加載時(shí)間和加載次數(shù),設(shè)置圖片的權(quán)值。優(yōu)選地,所述當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面相對(duì)應(yīng)的圖片,還包括當(dāng)切換至下一界面,若所述當(dāng)前界面進(jìn)入停止?fàn)顟B(tài),用默認(rèn)圖片替換與所述當(dāng)前界面對(duì)應(yīng)的圖片,并根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。本發(fā)明還提供一種基于界面生命周期回收?qǐng)D片的裝置,包括圖片加載及顯示模塊,用于當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與所述當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示所述圖片,所述圖片管理器用于存儲(chǔ)與所述當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù);權(quán)值設(shè)置模塊,用于根據(jù)所述圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;圖片回收模塊,用于當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。優(yōu)選地,所述界面數(shù)據(jù)包括界面名稱、與所述當(dāng)前界面對(duì)應(yīng)的圖片資源,以及所述圖片的存儲(chǔ)路徑。優(yōu)選地,所述圖片加載及顯示模塊包括查找單元,用于當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與所述當(dāng)前界面對(duì)應(yīng)的圖片;圖片提取單元,用于當(dāng)前界面管理器中存在與所述當(dāng)前界面對(duì)應(yīng)的圖片時(shí),從當(dāng)前界面管理器中提取所述圖片;圖片獲取單元,用于根據(jù)當(dāng)前界面管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取所述圖片。優(yōu)選地,所述圖片加載及顯示模塊還包括加載次數(shù)記錄單元,用于當(dāng)圖片管理器中存在與當(dāng)前界面相應(yīng)的圖片時(shí),記錄所述圖片對(duì)應(yīng)的加載次數(shù);所述權(quán)值設(shè)置模塊,用于根據(jù)加載時(shí)間和加載次數(shù),設(shè)置圖片的權(quán)值。優(yōu)選地,所述圖片回收模塊包括圖片替換單元,用于當(dāng)切換至下一界面,若所述當(dāng)前界面進(jìn)入停止?fàn)顟B(tài),用默認(rèn)圖片替換與所述當(dāng)前界面對(duì)應(yīng)的圖片;圖片回收單元,用于根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。本發(fā)明通過在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示圖片,同時(shí)根據(jù)圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;而在當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)圖片的權(quán)值,回收預(yù)設(shè)數(shù)量的與當(dāng)前界面相關(guān)聯(lián)的圖片。在界面的生命周期中,當(dāng)其進(jìn)入運(yùn)行狀態(tài)時(shí)加載圖片,而當(dāng)其進(jìn)入停止?fàn)顟B(tài)時(shí)回收?qǐng)D片,根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,從而實(shí)現(xiàn)對(duì)圖片資源的精確管理和控制。


圖1為本發(fā)明基于界面生命周期回收?qǐng)D片的方法第一實(shí)施例的流程示意圖;圖2為本發(fā)明基于界面生命周期回收?qǐng)D片的方法中獲取與當(dāng)前界面對(duì)應(yīng)的圖片的流程示意圖;圖3為本發(fā)明基于界面生命周期回收?qǐng)D片的方法第二實(shí)施例的流程示意圖;圖4為本發(fā)明基于界面生命周期回收?qǐng)D片的方法中回收與預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片的流程示意圖;圖5為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置第一實(shí)施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置中圖片加載及顯示模塊的結(jié)構(gòu)示意圖;圖7為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置第二實(shí)施例的結(jié)構(gòu)示意圖;圖8為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置中圖片回收模塊的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供一種基于界面生命周期回收?qǐng)D片的方法,在界面進(jìn)入運(yùn)行狀態(tài)時(shí)加載與該界面對(duì)應(yīng)的圖片,而在界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)圖片的權(quán)值將預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片回收,從而實(shí)現(xiàn)了根據(jù)界面的狀態(tài)控制對(duì)應(yīng)的圖片的創(chuàng)建與回收。參照?qǐng)D1,圖1為本發(fā)明基于界面生命周期回收?qǐng)D片的方法第一實(shí)施例的流程示意圖。本實(shí)施例所提供的基于界面生命周期回收?qǐng)D片的方法,包括步驟S10,當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示圖片;在Android系統(tǒng)中,一個(gè)界面(ACTIVTITY)的生命周期即是這個(gè)界面的一個(gè)狀態(tài)變化,一般包括創(chuàng)建、啟動(dòng)、恢復(fù)、運(yùn)行、暫停、停止、完成、銷毀狀態(tài)。界面的展示通常是通過填充與其對(duì)應(yīng)的圖片來實(shí)現(xiàn)的,并且圖片的展示時(shí)機(jī)與界面的展示時(shí)機(jī)一致。當(dāng)系統(tǒng)加載當(dāng)前界面使其進(jìn)入運(yùn)行狀態(tài)的時(shí)候,即要將該當(dāng)前界面進(jìn)行展示時(shí),其處于即將可見的狀態(tài),創(chuàng)建圖片管理器,設(shè)定圖片管理器能存儲(chǔ)圖片資源的閾值A(chǔ)。圖片管理器用于存儲(chǔ)與當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù),該界面數(shù)據(jù)包括界面名稱、當(dāng)前界面對(duì)應(yīng)的圖片資源(即解碼后的圖片信息)、圖片的存儲(chǔ)路徑,其中界面名稱用于與某個(gè)當(dāng)前界面相關(guān)聯(lián);圖片的存儲(chǔ)路徑用于當(dāng)從圖片管理器中取不到該圖片的相關(guān)資源時(shí),可以根據(jù)該路徑在本地存儲(chǔ)或網(wǎng)絡(luò)中獲取圖片資源。系統(tǒng)根據(jù)界面請(qǐng)求,加載并顯示與該界面相對(duì)應(yīng)的圖片。步驟S20,根據(jù)圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;當(dāng)加載并顯示了與當(dāng)前界面對(duì)應(yīng)的圖片后,根據(jù)當(dāng)前圖片的加載時(shí)間,對(duì)每一張圖片的權(quán)值進(jìn)行設(shè)置,所設(shè)置的權(quán)值也可以作為界面數(shù)據(jù)將其保存到圖片管理器中,圖片的權(quán)值通常取值為系統(tǒng)的當(dāng)前時(shí)間毫秒數(shù),其設(shè)置規(guī)則可以根據(jù)實(shí)際需要進(jìn)行自定義設(shè)置,也可以采用默認(rèn)規(guī)則,該默認(rèn)規(guī)則為使用時(shí)間越晚,該圖片的權(quán)值越高。圖片的權(quán)值用于在當(dāng)前界面處于停止?fàn)顟B(tài)時(shí),按照所設(shè)置的圖片的權(quán)值由低到高(或由高到低)的順序,回收預(yù)設(shè)數(shù)量的與該界面相關(guān)聯(lián)的圖片。本實(shí)施例中,預(yù)設(shè)數(shù)量是根據(jù)圖片管理器可讀入的圖片的數(shù)量進(jìn)行設(shè)置的,即預(yù)設(shè)數(shù)量可以為回收?qǐng)D片管理器可讀入的圖片的數(shù)量的全部或一部分。同時(shí)如需再一次切換至當(dāng)前界面,則需要對(duì)該圖片的權(quán)值重新計(jì)算,而后在圖片管理器中更新該圖片的權(quán)值。進(jìn)一步地,也可根據(jù)加載時(shí)間和加載次數(shù)設(shè)置權(quán)值,具體為當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,若存在,則記錄該圖片的加載次數(shù),將該圖片的加載次數(shù)增加一定值(如I)并將加載次數(shù)保存,并用加載時(shí)間和加載次數(shù)之和重新設(shè)置權(quán)值,圖片的最終權(quán)值由加載時(shí)間和加載次數(shù)綜合決定。步驟S30,當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片。在加載了與當(dāng)前界面對(duì)應(yīng)的圖片,并將圖片加載并顯示后,當(dāng)當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),該當(dāng)前界面處于不可見的非運(yùn)行狀態(tài),此時(shí),為降低系統(tǒng)的資源消耗,對(duì)與該當(dāng)前界面相關(guān)聯(lián)的所有狀態(tài)都進(jìn)行釋放,其中,對(duì)圖片的回收是根據(jù)圖片的權(quán)值,對(duì)權(quán)值較低的圖片進(jìn)行回收,即根據(jù)圖片的權(quán)值由低到高(或高到低)的順序回收相應(yīng)的預(yù)設(shè)數(shù)量的圖片。進(jìn)一步地,也可在當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),檢測(cè)圖片管理器的存儲(chǔ)空間是否達(dá)到一定值(如存儲(chǔ)空間閾值的80%),若是,則根據(jù)該圖片的權(quán)值,回收與預(yù)設(shè)數(shù)量的與該界面相關(guān)的圖片。這樣可以進(jìn)一步地對(duì)內(nèi)存進(jìn)行精確地控制和管理。進(jìn)一步地,若權(quán)值中包含加載次數(shù),則在回收?qǐng)D片時(shí),如果需回收的圖片為同一時(shí)間加載時(shí),可先回收加載次數(shù)較少的圖片即使用頻率較低的圖片,則進(jìn)一步提高系統(tǒng)的利用率。本發(fā)明實(shí)施例,通過在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示圖片,同時(shí)根據(jù)圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;而在當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)圖片的權(quán)值,回收預(yù)設(shè)數(shù)量的當(dāng)前界面相關(guān)聯(lián)的圖片。在界面的生命周期中,當(dāng)其進(jìn)入運(yùn)行狀態(tài)時(shí)加載圖片,而當(dāng)其進(jìn)入停止?fàn)顟B(tài)時(shí)回收?qǐng)D片,根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,從而實(shí)現(xiàn)對(duì)圖片資源的精確管理和控制。參照?qǐng)D2,圖2為本發(fā)明基于界面生命周期回收?qǐng)D片的方法中獲取與當(dāng)前界面對(duì)應(yīng)的圖片的流程示意圖。在本發(fā)明基于界面生命周期回收?qǐng)D片的方法第一實(shí)施例中,步驟SlO包括步驟S11,當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,若是,則執(zhí)行步驟S12 ;若否,則執(zhí)行步驟S13 ;步驟S12,從圖片管理器中提取圖片;進(jìn)一步地,若權(quán)值中包含加載次數(shù),則從圖片管理器中提取圖片,并記錄圖片的加載次數(shù);步驟S13,根據(jù)圖片管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取圖片。在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收到提取圖片的指令后,首先在圖片管理器中進(jìn)行查找,即判斷是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,如存在,則直接在所創(chuàng)建的圖片管理器中提取該圖片;而如在圖片管理器中沒有存儲(chǔ)與當(dāng)前界面對(duì)應(yīng)的圖片,則根據(jù)其中所存儲(chǔ)的該圖片的路徑,從本地存儲(chǔ)器或網(wǎng)絡(luò)中獲取該圖片。
在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收到提取圖片的指令后,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,如存在,則直接提取該圖片,如不存在,則根據(jù)圖片管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取圖片,從而為在界面的生命周期中,當(dāng)其處于運(yùn)行狀態(tài)時(shí)加載圖片提供了前提保證。參照?qǐng)D3,圖3為本發(fā)明基于界面生命周期回收?qǐng)D片的方法第二實(shí)施例的流程示意圖。本實(shí)施例與本發(fā)明基于界面生命周期回收?qǐng)D片的方法第一實(shí)施例的區(qū)別在于,在執(zhí)行步驟Sio之前,該方法還包括步驟S40,判斷當(dāng)前界面是否為多頁(yè)界面,若是,則執(zhí)行步驟S41 ;若否,則執(zhí)行步驟 SlO。步驟S41,根據(jù)當(dāng)前界面的頁(yè)數(shù),將該當(dāng)前界面的界面名稱分別設(shè)置為當(dāng)前界面名稱和對(duì)應(yīng)的頁(yè)碼數(shù)。在本實(shí)施例中,在當(dāng)前界面運(yùn)行前,首先判斷該當(dāng)前界面是否為多頁(yè)界面,即判斷其在展示的過程中是否需要翻頁(yè),如是,則根據(jù)該當(dāng)前界面所包含的總頁(yè)數(shù),在所創(chuàng)建的圖片管理器中,針對(duì)每一個(gè)頁(yè)面對(duì)該當(dāng)前界面的界面名稱進(jìn)行設(shè)置,即按照當(dāng)前界面的頁(yè)數(shù),將該當(dāng)前界面的界面名稱分別設(shè)置為當(dāng)前界面名稱和對(duì)應(yīng)的頁(yè)碼數(shù)。在加載當(dāng)前頁(yè)面時(shí),在圖片管理器中將該當(dāng)前界面的界面名稱設(shè)置為當(dāng)前界面名稱加當(dāng)前頁(yè)數(shù),對(duì)應(yīng)的圖片的權(quán)值設(shè)置為當(dāng)前時(shí)間,加載并顯示圖片;而在在切換到下一頁(yè)面時(shí),在圖片管理器中將該當(dāng)前界面的界面名稱設(shè)置為下一頁(yè)面名稱加下一頁(yè)面的頁(yè)數(shù),加載該下一頁(yè)面,同時(shí)釋放當(dāng)前頁(yè)面的相關(guān)資源。在當(dāng)前界面運(yùn)行前,首先判斷該當(dāng)前界面是否為多頁(yè)界面,如是,則根據(jù)該頁(yè)的頁(yè)數(shù),在所創(chuàng)建的圖片管理器中,針對(duì)每一個(gè)頁(yè)面對(duì)該當(dāng)前界面的界面名稱進(jìn)行設(shè)置,并分別對(duì)每一個(gè)頁(yè)面進(jìn)行加載及顯示,從而進(jìn)一步保證了能夠?qū)崿F(xiàn)對(duì)圖片資源的精確管理和控制。參照?qǐng)D4,圖4為本發(fā)明基于界面生命周期回收?qǐng)D片的方法中回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片的流程示意圖。基于本發(fā)明基于界面生命周期回收?qǐng)D片的方法第一實(shí)施例,步驟S30包括步驟S31,當(dāng)切換至下一界面,若當(dāng)前界面進(jìn)入停止?fàn)顟B(tài),用默認(rèn)圖片替換與當(dāng)前界面對(duì)應(yīng)的圖片;步驟S32,根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片。在需要切換至下一界面且當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),首先用系統(tǒng)中的默認(rèn)圖片替換與當(dāng)前界面對(duì)應(yīng)的圖片,即將當(dāng)前界面上用于顯示回收的圖片的圖片控件以默認(rèn)圖片進(jìn)行填充,該默認(rèn)圖片為系統(tǒng)的一個(gè)常量,當(dāng)獲取不到對(duì)應(yīng)的圖片或者在獲取圖片的等待過程中,將默認(rèn)圖片填充至圖片控件中用于進(jìn)行臨時(shí)顯示。然后,根據(jù)所設(shè)置的圖片的權(quán)值,回收預(yù)設(shè)數(shù)量的與當(dāng)前界面對(duì)應(yīng)的圖片。在需要切換至下一界面且當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),將當(dāng)前界面上用于顯示回收的圖片的圖片控件填充為默認(rèn)圖片,并根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片。從而在當(dāng)前界面與下一界面切換的過程中,保證了根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,更進(jìn)一步實(shí)現(xiàn)了對(duì)圖片資源的精確管理和控制。
本發(fā)明還提供一種基于界面生命周期回收?qǐng)D片的裝置。參照?qǐng)D5,圖5為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置第一實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例所提供的基于界面生命周期回收?qǐng)D片的裝置,包括圖片加載及顯示模塊10,用于當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示圖片;權(quán)值設(shè)置模塊20,用于根據(jù)圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;圖片回收模塊30,用于當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片。在Android系統(tǒng)中,一個(gè)界面(ACTIVTITY)的生命周期即是這個(gè)界面的一個(gè)狀態(tài)變化,一般包括創(chuàng)建、啟動(dòng)、恢復(fù)、運(yùn)行、暫停、停止、完成、銷毀狀態(tài)。界面的展示通常是通過填充與其對(duì)應(yīng)的圖片來實(shí)現(xiàn)的,并且圖片的展示時(shí)機(jī)與界面的展示時(shí)機(jī)一致。當(dāng)系統(tǒng)加載當(dāng)前界面使其進(jìn)入運(yùn)行狀態(tài)的時(shí)候,即要將該當(dāng)前界面進(jìn)行展示時(shí),其處于即將可見的狀態(tài),創(chuàng)建圖片管理器,設(shè)定圖片管理器能存儲(chǔ)圖片資源的閾值A(chǔ)。圖片管理器用于存儲(chǔ)與當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù),該界面數(shù)據(jù)包括界面名稱、當(dāng)前界面對(duì)應(yīng)的圖片資源(即解碼后的圖片信息)、圖片的存儲(chǔ)路徑,其中界面名稱用于與某個(gè)當(dāng)前界面相關(guān)聯(lián);圖片的存儲(chǔ)路徑用于當(dāng)從圖片管理器中取不到該圖片的相關(guān)資源時(shí),可以根據(jù)該路徑在本地存儲(chǔ)或網(wǎng)絡(luò)中獲取圖片資源。系統(tǒng)根據(jù)界面請(qǐng)求,通過圖片加載及顯示模塊10加載并顯示與該界面相對(duì)應(yīng)的圖片。當(dāng)加載并顯示了與當(dāng)前界面對(duì)應(yīng)的圖片后,權(quán)值設(shè)置模塊20根據(jù)當(dāng)前圖片的加載時(shí)間,對(duì)每一張圖片的權(quán)值進(jìn)行設(shè)置,所設(shè)置的權(quán)值也可以作為界面數(shù)據(jù)將其保存到圖片管理器中,圖片的權(quán)值通常取值為系統(tǒng)的當(dāng)前時(shí)間毫秒數(shù),其設(shè)置規(guī)則可以根據(jù)實(shí)際需要進(jìn)行自定義設(shè)置,也可以采用默認(rèn)規(guī)則,該默認(rèn)規(guī)則為使用時(shí)間越晚,該圖片的權(quán)值越高。圖片的權(quán)值用于在當(dāng)前界面處于停止?fàn)顟B(tài)時(shí),按照所設(shè)置的圖片的權(quán)值由低到高(或由高到低)的順序,回收預(yù)設(shè)數(shù)量的與該界面相關(guān)聯(lián)的圖片。本實(shí)施例中,預(yù)設(shè)數(shù)量是根據(jù)圖片管理器可讀入的圖片的數(shù)量進(jìn)行設(shè)置的,即預(yù)設(shè)數(shù)量可以為回收?qǐng)D片管理器可讀入的圖片的數(shù)量的全部或一部分。同時(shí)如需再一次切換至當(dāng)前界面,則需要對(duì)該圖片的權(quán)值重新計(jì)算,而后在圖片管理器中更新該圖片的權(quán)值。進(jìn)一步地,也可根據(jù)加載時(shí)間和加載次數(shù)設(shè)置權(quán)值,具體為當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,若存在,則記錄該圖片的加載次數(shù),將該圖片的加載次數(shù)增加一定值(如I)并將加載次數(shù)保存,并用加載時(shí)間和加載次數(shù)之和重新設(shè)置權(quán)值,圖片的最終權(quán)值由加載時(shí)間和加載次數(shù)綜合決定。在加載了與當(dāng)前界面對(duì)應(yīng)的圖片,并將圖片加載并顯示后,當(dāng)當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),該當(dāng)前界面處于不可見的非運(yùn)行狀態(tài),此時(shí),為降低系統(tǒng)的資源消耗,對(duì)與該當(dāng)前界面相關(guān)聯(lián)的所有狀態(tài)都進(jìn)行釋放,其中,通過圖片回收模塊30對(duì)圖片的回收是根據(jù)圖片的權(quán)值,對(duì)權(quán)值較低的圖片進(jìn)行回收,即根據(jù)圖片的權(quán)值由低到高(或高到低)的順序回收相應(yīng)的預(yù)設(shè)數(shù)量的圖片。進(jìn)一步地,也可在當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),檢測(cè)圖片管理器的存儲(chǔ)空間是否達(dá)到一定值(如存儲(chǔ)空間閾值的80%),若是,則根據(jù)該圖片的權(quán)值,回收與預(yù)設(shè)數(shù)量的與該界面相關(guān)的圖片。這樣可以進(jìn)一步地對(duì)內(nèi)存進(jìn)行精確地控制和管理。進(jìn)一步地,若權(quán)值中包含加載次數(shù),則在回收?qǐng)D片時(shí),如果需回收的圖片為同一時(shí)間加載時(shí),可先回收加載次數(shù)較少的圖片即使用頻率較低的圖片,則進(jìn)一步提高系統(tǒng)的利用率。本發(fā)明實(shí)施例,通過在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示圖片,同時(shí)根據(jù)圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;而在當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)圖片的權(quán)值,回收與預(yù)設(shè)數(shù)量的當(dāng)前界面相關(guān)聯(lián)的圖片。在界面的生命周期中,當(dāng)其進(jìn)入運(yùn)行狀態(tài)時(shí)加載圖片,而當(dāng)其進(jìn)入停止?fàn)顟B(tài)時(shí)回收?qǐng)D片,根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,從而實(shí)現(xiàn)對(duì)圖片資源的精確管理和控制。參照?qǐng)D6,圖6為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置中圖片加載及顯示模塊的結(jié)構(gòu)示意圖。在本發(fā)明基于界面生命周期回收?qǐng)D片的裝置一實(shí)施例中,圖片加載及顯示模塊10包括查找單元11,用于當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片;圖片提取單元12,用于當(dāng)前界面管理器中存在與當(dāng)前界面對(duì)應(yīng)的圖片時(shí),從當(dāng)前界面管理器中提取圖片;圖片獲取單元13,用于根據(jù)當(dāng)前界面管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取圖片。在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收到提取圖片的指令后,查找單元11首先在圖片管理器中進(jìn)行查找,即判斷是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,如存在,則圖片提取單元12直接在所創(chuàng)的圖片管理器中提取該圖片;而如在圖片管理器中沒有存儲(chǔ)與當(dāng)前界面對(duì)應(yīng)的圖片,圖片獲取單元13則根據(jù)其中所存儲(chǔ)的該圖片的路徑,從本地存儲(chǔ)器或網(wǎng)絡(luò)中獲取該圖片。在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收到提取圖片的指令后,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,如存在,則直接提取該圖片,如不存在,則根據(jù)圖片管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取圖片,從而為在界面的生命周期中,當(dāng)其處于運(yùn)行狀態(tài)時(shí)加載圖片提供了前提保證。進(jìn)一步地,圖片加載及顯示模塊10還包括加載次數(shù)記錄單元14,用于當(dāng)圖片管理器中存在與當(dāng)前界面相應(yīng)的圖片時(shí),記錄圖片對(duì)應(yīng)的加載次數(shù);這時(shí)權(quán)值設(shè)置模塊20,用于根據(jù)加載時(shí)間和加載次數(shù),設(shè)置圖片的權(quán)值。在當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與當(dāng)前界面對(duì)應(yīng)的圖片,若存在,則通過加載次數(shù)記錄單元14記錄該圖片的加載次數(shù),即將該圖片的加載次數(shù)增加一定值(如I)并將加載次數(shù)保存,并通過權(quán)值設(shè)置模塊20,用加載時(shí)間和加載次數(shù)之和重新設(shè)置權(quán)值,圖片的最終權(quán)值由加載時(shí)間和加載次數(shù)綜合決定。參照?qǐng)D7,圖7為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置第二實(shí)施例的結(jié)構(gòu)示意圖。基于本發(fā)明基于界面生命周期回收?qǐng)D片的裝置一實(shí)施例,該裝置還包括第一判斷模塊40,用于判斷當(dāng)前界面是否為多頁(yè)界面;界面名稱設(shè)置模塊50,用于根據(jù)當(dāng)前界面的頁(yè)數(shù),將該當(dāng)前界面的界面名稱分別設(shè)置為當(dāng)前界面名稱和對(duì)應(yīng)的頁(yè)碼數(shù)。在本實(shí)施例中,在當(dāng)前界面運(yùn)行前,第一判斷模塊40首先判斷該當(dāng)前界面是否為多頁(yè)界面,即判斷其在展示的過程中是否需要翻頁(yè),如是,界面名稱設(shè)置模塊50根據(jù)該當(dāng)前界面所包含的總頁(yè)數(shù),在所創(chuàng)建的圖片管理器中,針對(duì)每一個(gè)頁(yè)面對(duì)該當(dāng)前界面的界面名稱進(jìn)行設(shè)置,即按照當(dāng)前界面的頁(yè)數(shù),將該當(dāng)前界面的界面名稱分別設(shè)置為當(dāng)前界面名稱和對(duì)應(yīng)的頁(yè)碼數(shù)。在加載當(dāng)前頁(yè)面時(shí),在圖片管理器中將該當(dāng)前界面的界面名稱設(shè)置為當(dāng)前界面名稱加當(dāng)前頁(yè)數(shù),對(duì)應(yīng)的圖片的權(quán)值設(shè)置為當(dāng)前時(shí)間,加載并顯示圖片;而在在切換到下一頁(yè)面時(shí),在圖片管理器中將該當(dāng)前界面的界面名稱設(shè)置為下一頁(yè)面名稱加下一頁(yè)面的頁(yè)數(shù),加載該下一頁(yè)面,同時(shí)釋放當(dāng)前頁(yè)面的相關(guān)資源。在當(dāng)前界面運(yùn)行前,首先判斷該當(dāng)前界面是否為多頁(yè)界面,如是,則根據(jù)該頁(yè)的頁(yè)數(shù),在所創(chuàng)建的圖片管理器中,針對(duì)每一個(gè)頁(yè)面對(duì)該當(dāng)前界面的界面名稱進(jìn)行設(shè)置,并分別對(duì)每一個(gè)頁(yè)面進(jìn)行加載及顯示,從而進(jìn)一步保證了能夠?qū)崿F(xiàn)對(duì)圖片資源的精確管理和控制。參照?qǐng)D8,圖8為本發(fā)明基于界面生命周期回收?qǐng)D片的裝置中圖片回收模塊的結(jié)構(gòu)示意圖?;诒景l(fā)明基于界面生命周期回收?qǐng)D片的裝置一實(shí)施例,圖片回收模塊30包括圖片替換單元31,用于當(dāng)切換至下一界面,若當(dāng)前界面進(jìn)入停止?fàn)顟B(tài),用默認(rèn)圖片替換與當(dāng)前界面對(duì)應(yīng)的圖片;圖片回收單元32,用于回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片。在需要切換至下一界面且當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),圖片替換單元31首先用系統(tǒng)中的默認(rèn)圖片替換與當(dāng)前界面對(duì)應(yīng)的圖片,即將當(dāng)前界面上用于顯示回收的圖片的圖片控件以默認(rèn)圖片進(jìn)行填充,該默認(rèn)圖片為系統(tǒng)的一個(gè)常量,當(dāng)獲取不到對(duì)應(yīng)的圖片或者在獲取圖片的等待過程中,將默認(rèn)圖片填充至圖片控件中用于進(jìn)行臨時(shí)顯示。然后,通過圖片回收單元32根據(jù)所設(shè)置的圖片的權(quán)值,回收預(yù)設(shè)數(shù)量的與當(dāng)前界面對(duì)應(yīng)的圖片。在需要切換至下一界面且當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),將當(dāng)前界面上用于顯示回收的圖片的圖片控件填充為默認(rèn)圖片,并根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的當(dāng)前界面對(duì)應(yīng)的圖片。從而在當(dāng)前界面與下一界面切換的過程中,保證了根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,更進(jìn)一步實(shí)現(xiàn)了對(duì)圖片資源的精確管理和控制。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍。
權(quán)利要求
1.一種基于界面生命周期回收?qǐng)D片的方法,其特征在于,包括: 當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與所述當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示所述圖片,所述圖片管理器用于存儲(chǔ)與所述當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù); 根據(jù)所述圖片的加載時(shí)間,設(shè)置圖片的權(quán)值; 當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述界面數(shù)據(jù)包括界面名稱、與所述當(dāng)前界面對(duì)應(yīng)的圖片資源,以及所述圖片的存儲(chǔ)路徑。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與所述當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示所述圖片包括: 當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與所述當(dāng)前界面對(duì)應(yīng)的圖片,若是,從圖片管理器中提取所述圖片; 若否,根據(jù)圖片管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取所述圖片。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與所述當(dāng)前界面對(duì)應(yīng)的圖片之后,還包括: 若圖片管理器中存在與當(dāng)前界面相應(yīng)的圖片,則記錄所述圖片對(duì)應(yīng)的加載次數(shù); 所述根據(jù)所述圖片的加載時(shí)間,設(shè)置圖片的權(quán)值,包括: 根據(jù)所述圖片的加載時(shí)間和加載次數(shù),設(shè)置圖片的權(quán)值。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面相對(duì)應(yīng)的圖片,還包括: 當(dāng)切換至下一界面,若所述當(dāng)前界面進(jìn)入停止?fàn)顟B(tài),用默認(rèn)圖片替換與所述當(dāng)前界面對(duì)應(yīng)的圖片,并根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。
6.一種基于界面生命周期回收?qǐng)D片的裝置,其特征在于,包括: 圖片加載及顯示模塊,用于當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與所述當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示所述圖片,所述圖片管理器用于存儲(chǔ)與所述當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù); 權(quán)值設(shè)置模塊,用于根據(jù)所述圖片的加載時(shí)間,設(shè)置圖片的權(quán)值; 圖片回收模塊,用于當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述界面數(shù)據(jù)包括界面名稱、與所述當(dāng)前界面對(duì)應(yīng)的圖片資源,以及所述圖片的存儲(chǔ)路徑。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述圖片加載及顯示模塊包括: 查找單元,用于當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),接收提取圖片的指令,在圖片管理器中查找是否存在與所述當(dāng)前界面對(duì)應(yīng)的圖片; 圖片提取單元,用于當(dāng)前界面管理器中存在與所述當(dāng)前界面對(duì)應(yīng)的圖片時(shí),從當(dāng)前界面管理器中提取所述圖片; 圖片獲取單元,用于根據(jù)當(dāng)前界面管理器中所存儲(chǔ)的圖片的路徑,從本地存儲(chǔ)或網(wǎng)絡(luò)中獲取所述圖片。
9.根據(jù)權(quán)利要求8所 述的裝置,其特征在于,所述圖片加載及顯示模塊還包括: 加載次數(shù)記錄單元,用于當(dāng)圖片管理器中存在與當(dāng)前界面相應(yīng)的圖片時(shí),記錄所述圖片對(duì)應(yīng)的加載次數(shù); 所述權(quán)值設(shè)置模塊,用于根據(jù)加載時(shí)間和加載次數(shù),設(shè)置圖片的權(quán)值。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的裝置,其特征在于,所述圖片回收模塊包括:圖片替換單元,用于當(dāng)切換至下一界面,若所述當(dāng)前界面進(jìn)入停止?fàn)顟B(tài),用默認(rèn)圖片替換與所述當(dāng)前界面對(duì)應(yīng)的圖片; 圖片回收單元,用 于根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。
全文摘要
本發(fā)明公開了一種基于界面生命周期回收?qǐng)D片的方法,包括當(dāng)前界面進(jìn)入運(yùn)行狀態(tài)時(shí),從圖片管理器中獲取與當(dāng)前界面對(duì)應(yīng)的圖片,加載并顯示圖片,圖片管理器用于存儲(chǔ)與當(dāng)前界面相關(guān)聯(lián)的界面數(shù)據(jù);根據(jù)圖片的加載時(shí)間,設(shè)置圖片的權(quán)值;當(dāng)前界面進(jìn)入停止?fàn)顟B(tài)時(shí),根據(jù)權(quán)值回收預(yù)設(shè)數(shù)量的所述當(dāng)前界面對(duì)應(yīng)的圖片。本發(fā)明還公開了一種基于界面生命周期回收?qǐng)D片的裝置。采用本發(fā)明所公開的方案,在界面的生命周期中,當(dāng)其進(jìn)入運(yùn)行狀態(tài)時(shí)加載圖片,而當(dāng)其進(jìn)入停止?fàn)顟B(tài)時(shí)回收?qǐng)D片,根據(jù)界面的狀態(tài)控制圖片的創(chuàng)建和回收,從而實(shí)現(xiàn)對(duì)圖片資源的精確管理和控制。
文檔編號(hào)G06F9/44GK103077014SQ20121057268
公開日2013年5月1日 申請(qǐng)日期2012年12月25日 優(yōu)先權(quán)日2012年12月25日
發(fā)明者秦亮, 鄭忠昌, 王立軍, 匡漢欽, 宗筍筍, 胡甜 申請(qǐng)人:深圳Tcl新技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临沭县| 青铜峡市| 叙永县| 邵武市| 兴化市| 和顺县| 宣城市| 内江市| 汉阴县| 板桥市| 沧州市| 图片| 长兴县| 铜陵市| 康平县| 山东| 郧西县| 宁晋县| 会东县| 巴林右旗| 黄浦区| 延安市| 孟津县| 习水县| 曲松县| 马公市| 崇明县| 金塔县| 兴城市| 阜新市| 堆龙德庆县| 永胜县| 鄯善县| 汝州市| 霍林郭勒市| 邻水| 堆龙德庆县| 永宁县| 邢台县| 汉寿县| 盐边县|