本發(fā)明涉及android系統(tǒng)中業(yè)務(wù)層模塊與其他模塊的分離解耦技術(shù)領(lǐng)域,特別涉及一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法及終端。
背景技術(shù):
隨著國內(nèi)外android系統(tǒng)開發(fā)的熱門程度日益增高,android系統(tǒng)對業(yè)務(wù)對象的處理主要基于總線來實現(xiàn)。傳統(tǒng)的手機應(yīng)用對于業(yè)務(wù)對象的創(chuàng)建分為兩種,第一種是通過單例模式創(chuàng)建一個業(yè)務(wù)對象,這種方式一旦業(yè)務(wù)對象被創(chuàng)建后并不會被系統(tǒng)回收,而是一直占用內(nèi)存;第二種是在每次使用的時候都會創(chuàng)建業(yè)務(wù)對象,對于應(yīng)用刷新頻率過快而每次都去創(chuàng)建業(yè)務(wù)對象的情況,則在短時間內(nèi)會大大的增加cpu的開銷,這兩種方式在手機長時間運行后都對內(nèi)存和cpu的消耗比較大。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法及終端,使android系統(tǒng)中業(yè)務(wù)層模塊與其他模塊能夠分離解耦,節(jié)省對系統(tǒng)內(nèi)存的消耗,減少對cpu的開銷。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法,包括步驟:
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象。
本發(fā)明的有益效果在于:管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼,應(yīng)用程序通過管理容器請求業(yè)務(wù)對象,將業(yè)務(wù)對象與應(yīng)用程序分離解耦,通過管理容器對業(yè)務(wù)對象的緩存地址進行統(tǒng)一管理,在管理的過程中,通過標(biāo)識碼對業(yè)務(wù)對象進行識別,便于業(yè)務(wù)對象的統(tǒng)一管理,如果應(yīng)用程序請求的業(yè)務(wù)對象已經(jīng)有對應(yīng)的緩存地址,則管理容器將業(yè)務(wù)對象的緩存地址反饋給應(yīng)用程序,如果沒有與應(yīng)用程序請求的業(yè)務(wù)對象對應(yīng)的緩存地址,則創(chuàng)建該業(yè)務(wù)對象,可以有效避免業(yè)務(wù)對象的重復(fù)創(chuàng)建,即節(jié)省內(nèi)存,又減少cpu的開銷。
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端,包括一個或多個處理器及存儲器,所述存儲器存儲有程序,并且被配置成由所述一個或多個處理器執(zhí)行以下步驟:
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象。
本發(fā)明的有益效果在于:在緩存管理終端中,設(shè)置有一個或者多個的處理器及存儲器來執(zhí)行對緩存的管理,新設(shè)立管理容器,一方面存儲有業(yè)務(wù)對象的標(biāo)識碼和緩存地址,便于集中統(tǒng)一查詢和管理緩存地址,還實現(xiàn)將業(yè)務(wù)對象與應(yīng)用程序的分離解耦,避免應(yīng)用程序同時訪問多個業(yè)務(wù)對象造成代碼混亂;另一方面,應(yīng)用程序?qū)I(yè)務(wù)對象請求發(fā)送至管理容器,管理容器中查詢是否存在與該業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象,如果已經(jīng)存在,則直接通過標(biāo)識碼和緩存地址調(diào)取業(yè)務(wù)對象并返回給應(yīng)用程序,如果不存在,則創(chuàng)建該業(yè)務(wù)對象,可以有效避免業(yè)務(wù)對象的重復(fù)創(chuàng)建,即節(jié)省內(nèi)存,又減少cpu的開銷。
附圖說明
圖1為本發(fā)明實施例的android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法的流程圖;
圖2為本發(fā)明實施例的android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端的結(jié)構(gòu)框圖。
具體實施方式
為詳細說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖予以說明。
本發(fā)明最關(guān)鍵的構(gòu)思在于:通過設(shè)立管理容器對業(yè)務(wù)對象的緩存地址進行統(tǒng)一管理,避免對同樣的業(yè)務(wù)對象建立重復(fù)的緩存地址,即節(jié)省了內(nèi)存,又減少cpu的開銷。
請參照圖1,本發(fā)明提供了一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法,包括步驟:
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象。
進一步的,還包括步驟:
為業(yè)務(wù)對象賦予唯一的標(biāo)識碼。
由上述描述可知,每個業(yè)務(wù)對象賦值唯一的標(biāo)識碼,對不同的業(yè)務(wù)對象進行區(qū)分。
進一步的,還包括步驟:
根據(jù)緩存地址調(diào)取業(yè)務(wù)對象,并通過總線將業(yè)務(wù)對象發(fā)送給應(yīng)用程序。
由上述描述可知,管理容器根據(jù)查找到的緩存地址調(diào)取業(yè)務(wù)對象,并利用總線將業(yè)務(wù)對象發(fā)送給應(yīng)用程序,業(yè)務(wù)對象通過管理容器與總線連接,防止因多個業(yè)務(wù)同時綁定在總線上導(dǎo)致代碼混亂,提高總線運行的可靠性。
進一步的,還包括步驟:
將創(chuàng)建的業(yè)務(wù)對象存入緩存中,同時將所述業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼存儲到所述管理容器中。
由上述描述可知,新創(chuàng)建的業(yè)務(wù)對象存入緩存中,并將業(yè)務(wù)對象的緩存地址和標(biāo)識碼存儲到管理容器中,在管理容器中及時更新業(yè)務(wù)對象的緩存信息。
進一步的,還包括步驟:
設(shè)定時間閾值;
管理容器定時檢測其存儲的標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間:
如果標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間大于時間閾值,則回收該緩存地址中的業(yè)務(wù)對象,并且管理容器刪除該標(biāo)識碼及該標(biāo)識碼對應(yīng)的緩存地址。
由上述描述可知,管理容器定時檢測其存儲的標(biāo)識碼和緩存地址對應(yīng)的業(yè)務(wù)對象未被訪問的時間,如果緩存地址對應(yīng)的業(yè)務(wù)對象超過時間閾值沒有被訪問,表明該緩存地址對應(yīng)的業(yè)務(wù)對象一定時間沒有被訪問,則管理容器自動回收該緩存地址中的業(yè)務(wù)對象,并刪除存儲的該緩存地址及對應(yīng)標(biāo)識碼,以清除業(yè)務(wù)對象及對應(yīng)的記錄,釋放內(nèi)存;另外,對于未被訪問時間少于時間閾值的業(yè)務(wù)對象,也可以避免在時間閾值范圍內(nèi)因頻繁訪問業(yè)務(wù)對象而重復(fù)創(chuàng)建業(yè)務(wù)對象,可以節(jié)省內(nèi)存,并減少cpu的開銷。
請參照圖1,本發(fā)明的實施例一為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法,包括步驟:
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象。
請參照圖1,本發(fā)明的實施例二為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法,包括步驟:
為業(yè)務(wù)對象賦予唯一的標(biāo)識碼;
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址,還根據(jù)緩存地址調(diào)取業(yè)務(wù)對象,并通過總線將業(yè)務(wù)對象發(fā)送給應(yīng)用程序;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象,將創(chuàng)建的業(yè)務(wù)對象存入緩存中,同時將所述業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼存儲到所述管理容器中。
請參照圖1,本發(fā)明的實施例三為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法,在實施例一的基礎(chǔ)上,還包括步驟:
設(shè)定時間閾值;
管理容器定時檢測其存儲的標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間:
如果標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間大于時間閾值,則回收該緩存地址中的業(yè)務(wù)對象,并且管理容器刪除該標(biāo)識碼及該標(biāo)識碼對應(yīng)的緩存地址。
請參照圖1和圖2,一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端,包括一個或多個處理器及存儲器,所述存儲器存儲有程序,并且被配置成由所述一個或多個處理器執(zhí)行以下步驟:
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象。
進一步的,被配置成由所述一個或多個處理器還執(zhí)行以下步驟:
為業(yè)務(wù)對象賦予唯一的標(biāo)識碼。
由上述描述可知,在緩存管理終端中,每個業(yè)務(wù)對象賦值唯一的標(biāo)識碼,對不同的業(yè)務(wù)對象進行區(qū)分。
進一步的,被配置成由所述一個或多個處理器還執(zhí)行以下步驟:
根據(jù)緩存地址調(diào)取業(yè)務(wù)對象,并通過總線將業(yè)務(wù)對象發(fā)送給應(yīng)用程序。
由上述描述可知,在緩存管理終端中,管理容器根據(jù)查找到的緩存地址調(diào)取業(yè)務(wù)對象,并利用總線將業(yè)務(wù)對象發(fā)送給應(yīng)用程序,業(yè)務(wù)對象通過管理容器與總線連接,防止因多個業(yè)務(wù)同時綁定在總線上導(dǎo)致代碼混亂,提高總線運行的可靠性。
進一步的,被配置成由所述一個或多個處理器還執(zhí)行以下步驟:
將創(chuàng)建的業(yè)務(wù)對象存入緩存中,同時將所述業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼存儲到所述管理容器中。
由上述描述可知,在緩存管理終端中,新創(chuàng)建的業(yè)務(wù)對象存入緩存中,并將業(yè)務(wù)對象的緩存地址和標(biāo)識碼存儲到管理容器中,在管理容器中及時更新業(yè)務(wù)對象的緩存信息。
進一步的,被配置成由所述一個或多個處理器還執(zhí)行以下步驟:
設(shè)定時間閾值;
管理容器定時檢測其存儲的標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間:
如果標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間大于時間閾值,則回收該緩存地址中的業(yè)務(wù)對象,并且管理容器刪除該標(biāo)識碼及該標(biāo)識碼對應(yīng)的緩存地址。
由上述描述可知,在緩存管理終端中,管理容器定時檢測其存儲的標(biāo)識碼和緩存地址對應(yīng)的業(yè)務(wù)對象未被訪問的時間,如果緩存地址對應(yīng)的業(yè)務(wù)對象超過時間閾值沒有被訪問,表明該緩存地址對應(yīng)的業(yè)務(wù)對象一定時間沒有被訪問,則管理容器自動回收該緩存地址中的業(yè)務(wù)對象,并刪除存儲的該緩存地址及對應(yīng)標(biāo)識碼,以清除業(yè)務(wù)對象及對應(yīng)的記錄,釋放內(nèi)存;另外,對于未被訪問時間少于時間閾值的業(yè)務(wù)對象,也可以避免在時間閾值范圍內(nèi)因頻繁訪問業(yè)務(wù)對象而重復(fù)創(chuàng)建業(yè)務(wù)對象,可以節(jié)省內(nèi)存,并減少cpu的開銷。
請參照圖1和圖2,本發(fā)明的實施例四為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端,包括一個或多個處理器及存儲器,所述存儲器存儲有程序,并且被配置成由所述一個或多個處理器執(zhí)行以下步驟:
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象。
請參照圖1和圖2,本發(fā)明的實施例五為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端,被配置成由所述一個或多個處理器執(zhí)行以下步驟:
為業(yè)務(wù)對象賦予唯一的標(biāo)識碼;
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,所述標(biāo)識碼與所述業(yè)務(wù)對象一一對應(yīng);
管理容器查找是否包含所述標(biāo)識碼,所述管理容器存儲有已存在緩存中的業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼;
如果所述管理容器中包含所述標(biāo)識碼,則向應(yīng)用程序返回與標(biāo)識碼對應(yīng)的緩存地址,還根據(jù)緩存地址調(diào)取業(yè)務(wù)對象,并通過總線將業(yè)務(wù)對象發(fā)送給應(yīng)用程序;
如果所述管理容器中不包含所述標(biāo)識碼,則創(chuàng)建與所述業(yè)務(wù)對象請求對應(yīng)的業(yè)務(wù)對象,將創(chuàng)建的業(yè)務(wù)對象存入緩存中,同時將所述業(yè)務(wù)對象的緩存地址及其對應(yīng)的標(biāo)識碼存儲到所述管理容器中。
請參照圖1和圖2,本發(fā)明的實施例六為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端,在實施例一的基礎(chǔ)上設(shè)定時間閾值;
管理容器定時檢測其存儲的標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間:
如果標(biāo)識碼對應(yīng)的緩存地址未被訪問的時間大于時間閾值,則回收該緩存地址中的業(yè)務(wù)對象,并且管理容器刪除該標(biāo)識碼及該標(biāo)識碼對應(yīng)的緩存地址。
請參照圖1和圖2,本發(fā)明的實施例七為:
一種android系統(tǒng)中業(yè)務(wù)對象的緩存管理終端,具體舉例為智能手機終端,包括一個或多個處理器及存儲器,所述存儲器存儲有程序,并且被配置成由所述一個或多個處理器,在智能手機終端中有微信、qq等業(yè)務(wù)對象,終端具體執(zhí)行以下步驟:
為微信、qq等業(yè)務(wù)對象賦予唯一的標(biāo)識碼;
假設(shè)目前管理容器中存儲有微信的緩存地址及標(biāo)識碼、qq的緩存地址及標(biāo)識碼;
應(yīng)用程序向管理容器發(fā)出包含標(biāo)識碼的業(yè)務(wù)對象請求,例如要請求微信這個業(yè)務(wù)對象;
管理容器查找是否包含微信的標(biāo)識碼;
此時,所述管理容器中包含微信的標(biāo)識碼,則向應(yīng)用程序返回微信的緩存地址,還根據(jù)緩存地址調(diào)取微信,并通過總線將微信發(fā)送給應(yīng)用程序;
如果所述管理容器中不包含微信的標(biāo)識碼,則創(chuàng)建與微信,將創(chuàng)建的微信存入緩存中,同時將微信的緩存地址及其對應(yīng)的標(biāo)識碼存儲到所述管理容器中;
同時,管理容器定時檢測微信和qq未被訪問的時間:
如果微信未被訪問的時間大于時間閾值,則回收微信的緩存地址中的微信這個業(yè)務(wù)對象,并且管理容器刪除微信的標(biāo)識碼及微信的緩存地址,釋放內(nèi)存;
如果qq未被訪問的時間大于時間閾值,則回收qq的緩存地址中的qq這個業(yè)務(wù)對象,并且管理容器刪除qq的標(biāo)識碼及qq的緩存地址,釋放內(nèi)存。
綜上所述,本發(fā)明提供的android系統(tǒng)中業(yè)務(wù)對象的緩存管理方法及終端,通過標(biāo)識碼對業(yè)務(wù)對象及其緩存地址進行識別,通過管理容器集中統(tǒng)一管理業(yè)務(wù)對象,如果業(yè)務(wù)對象已經(jīng)存在,則只需根據(jù)緩存地址調(diào)取業(yè)務(wù)對象即可,如果業(yè)務(wù)對象不存在則重新創(chuàng)建業(yè)務(wù)對象,業(yè)務(wù)對象及其緩存地址還通過管理容器發(fā)送給應(yīng)用程序,如果業(yè)務(wù)對象一定時間不被訪問,則刪除業(yè)務(wù)對象及其緩存地址,釋放內(nèi)存空間,防止應(yīng)用程序同時訪問多個業(yè)務(wù)對象造成代碼混亂,避免重復(fù)和頻繁創(chuàng)建對象,還可自動回收業(yè)務(wù)對象釋放內(nèi)存空間,大大節(jié)省了內(nèi)存,減少對cpu的開銷。
以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。