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

應(yīng)用緩存的清除方法、裝置及計算機(jī)設(shè)備與流程

文檔序號:12550458閱讀:852來源:國知局
應(yīng)用緩存的清除方法、裝置及計算機(jī)設(shè)備與流程

本發(fā)明屬于信息處理技術(shù)領(lǐng)域,尤其涉及終端應(yīng)用管理技術(shù)領(lǐng)域,具體涉及一種應(yīng)用緩存的清除方法、裝置及計算機(jī)設(shè)備。



背景技術(shù):

隨著移動終端的功能越來越豐富,移動終端被使用的頻次也越來越高。在一些情況下,移動終端還可能被機(jī)主之外的其他人使用。為了滿足多種使用場景和保護(hù)機(jī)主隱私,一些移動終端已經(jīng)支持多用戶模式。也就是說,在移動終端上除了機(jī)主用戶,還可以添加子用戶以及訪客用戶等。

在多用戶模式下,移動終端為不同的用戶設(shè)置了獨立的用戶空間,使得不同用戶間的數(shù)據(jù)可以相互獨立。然而,不同用戶的應(yīng)用緩存數(shù)據(jù)會占據(jù)移動終端較多的存儲空間。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供一種應(yīng)用緩存的清除方法、裝置及計算機(jī)設(shè)備,能節(jié)省終端的存儲空間。

本發(fā)明實施例提供一種應(yīng)用緩存的清除方法,包括:

獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表,各所述應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息;

當(dāng)檢測到應(yīng)用緩存清除操作時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用,所述目標(biāo)用戶賬號為非當(dāng)前用戶賬號;

在與所述目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與所述目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,及與所述目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名;

將所述目標(biāo)應(yīng)用包名及所述目標(biāo)用戶標(biāo)識號作為運行參數(shù),在終端只讀存儲器中查找所述目標(biāo)應(yīng)用的緩存,并將查找到的所述目標(biāo)應(yīng)用的緩存清除。

本發(fā)明實施例提供一種應(yīng)用緩存的清除裝置,包括:

第一獲取模塊,用于獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表,各所述應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息;

確定模塊,用于當(dāng)檢測到應(yīng)用緩存清除操作時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用,所述目標(biāo)用戶賬號為非當(dāng)前用戶賬號;

第二獲取模塊,用于在與所述目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與所述目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,及與所述目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名;

第一清除模塊,用于將所述目標(biāo)應(yīng)用包名及所述目標(biāo)用戶標(biāo)識號作為運行參數(shù),在終端只讀存儲器中查找所述目標(biāo)應(yīng)用的緩存,并將查找到的所述目標(biāo)應(yīng)用的緩存清除。

本發(fā)明實施例還提供一種計算機(jī)設(shè)備,包括存儲器,處理器,以及存儲在所述存儲器中并可在所述處理器中運行的計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)本發(fā)明實施例提供的應(yīng)用緩存的清除方法中的步驟。

附圖說明

下面結(jié)合附圖,通過對本發(fā)明的具體實施方式詳細(xì)描述,將使本發(fā)明的技術(shù)方案及其有益效果顯而易見。

圖1是本發(fā)明實施例提供的應(yīng)用緩存的清除方法的流程示意圖。

圖2是本發(fā)明實施例提供的應(yīng)用緩存的清除方法的另一流程示意圖。

圖3A至圖3D是本發(fā)明實施例提供的應(yīng)用緩存的清除方法的場景示意圖。

圖4是本發(fā)明實施例提供的應(yīng)用緩存的清除裝置的結(jié)構(gòu)示意圖。

圖5是本發(fā)明實施例提供的應(yīng)用緩存的清除裝置的另一結(jié)構(gòu)示意圖。

圖6是本發(fā)明實施例提供的移動終端的結(jié)構(gòu)示意圖。

具體實施方式

請參照圖式,其中相同的組件符號代表相同的組件,本發(fā)明的原理是以實施在一適當(dāng)?shù)倪\算環(huán)境中來舉例說明。以下的說明是基于所例示的本發(fā)明具體實施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實施例。

以下將詳細(xì)說明。

請參閱圖1,圖1是本發(fā)明實施例提供的應(yīng)用緩存的清除方法的流程示意圖,流程可以包括:

在步驟S101中,獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表,各應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息。

可以理解的是,本發(fā)明實施例的執(zhí)行主體可以是智能手機(jī)、平板電腦等終端設(shè)備。

比如,為了豐富終端的功能以滿足多種使用場景和保護(hù)機(jī)主隱私,一些版本的操作系統(tǒng)支持多用戶模式。也就是說,在安裝這些版本的操作系統(tǒng)的終端(如平板電腦)上除了有機(jī)主用戶,還可以添加子用戶以及訪客用戶等。當(dāng)終端創(chuàng)建機(jī)主用戶之外的其它用戶賬號時,終端會為新創(chuàng)建的用戶賬號開辟獨立的用戶空間,使得不同用戶賬號間的數(shù)據(jù)可以相互獨立。然而,不同用戶所安裝的應(yīng)用的緩存數(shù)據(jù)會占據(jù)終端較多的存儲空間。

在本發(fā)明實施例的步驟S101中,終端可以先獲取當(dāng)前用戶賬號外的各用戶賬號對應(yīng)的應(yīng)用管理列表,各應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息。

比如,終端中包含甲、乙、丙三個用戶賬號,終端的當(dāng)前用戶賬號為甲賬號。那么,終端可以先獲取乙賬號和丙賬號對應(yīng)的應(yīng)用管理列表。各賬號對應(yīng)的應(yīng)用管理列表中包含了各賬號對應(yīng)的存儲空間中安裝的所有應(yīng)用的相關(guān)信息,例如應(yīng)用的應(yīng)用名稱、版本號、緩存數(shù)據(jù)大小、應(yīng)用包名(packageName),以及各賬號對應(yīng)的用戶標(biāo)識號(userID)等信息。

在一種實施方式中,終端可以通過如下步驟來獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表:

獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的用戶標(biāo)識號;

將各用戶標(biāo)識號作為運行參數(shù),獲取與當(dāng)前用戶賬號外的各用戶賬號對應(yīng)的應(yīng)用管理列表。

比如,終端安裝的是安卓(Android)操作系統(tǒng),那么終端可以通過調(diào)用安卓系統(tǒng)中的原生方法getUserIds()來獲取終端中所有用戶賬號對應(yīng)的用戶標(biāo)識號(userID)。然后,終端可以獲取當(dāng)前用戶賬號對應(yīng)的用戶標(biāo)識號。那么,在所有用戶標(biāo)識號中,除當(dāng)前用戶賬號對應(yīng)的用戶標(biāo)識號之外的用戶標(biāo)識號即為當(dāng)前用戶賬號外的其他用戶賬號對應(yīng)的用戶標(biāo)識號。

在獲取到其它用戶賬號對應(yīng)的用戶標(biāo)識號之后,終端可以將各用戶標(biāo)識號作為運行參數(shù),獲取與各用戶賬號對應(yīng)的應(yīng)用管理列表。例如,終端可以調(diào)用安卓系統(tǒng)中的原生方法getInstalledPackagesAsUser(int flags,int userId)來獲取與各用戶賬號對應(yīng)的應(yīng)用管理列表。該方法getInstalledPackagesAsUser(int flags,int userId)的運行參數(shù)中包含用戶標(biāo)識號userId。終端只要傳入用戶賬號對應(yīng)的用戶標(biāo)識號即可獲取到該用戶賬號對應(yīng)的應(yīng)用管理列表。

例如,在獲取到乙賬號對應(yīng)的用戶標(biāo)識號之后,終端將乙賬號對應(yīng)的用戶標(biāo)識號作為運行參數(shù),調(diào)用方法getInstalledPackagesAsUser(int flags,int userId)即可獲取到乙賬號對應(yīng)的應(yīng)用管理列表。

可以理解的是,通過獲取當(dāng)前用戶賬號外的其它用戶賬號對應(yīng)的應(yīng)用管理列表,終端的的當(dāng)前用戶即可了解到其它用戶賬號對應(yīng)的存儲空間中安裝了哪些應(yīng)用,以及這些應(yīng)用的相關(guān)信息。

在步驟S102中,當(dāng)檢測到應(yīng)用緩存清除操作時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用,該目標(biāo)用戶賬號為非當(dāng)前用戶賬號。

比如,在獲取到當(dāng)前用戶賬號外的其它用戶賬號對應(yīng)的應(yīng)用管理列表后,終端檢測到用于清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的操作,此時終端可以確定出需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用。

例如,當(dāng)前用戶賬號為甲賬號,終端在獲取到與乙賬號對應(yīng)的乙應(yīng)用管理列表,以及與丙賬號對應(yīng)的丙應(yīng)用管理列表后,終端檢測到用于指示清除乙賬號對應(yīng)的存儲空間中安裝的A應(yīng)用的緩存的操作,此時終端可以將乙賬號確定為目標(biāo)用戶賬號,并將A應(yīng)用確定為目標(biāo)應(yīng)用。

在步驟S103中,在與該目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與該目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,及與該目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名。

在步驟S104中,將該目標(biāo)應(yīng)用包名及該目標(biāo)用戶標(biāo)識號作為運行參數(shù),在終端只讀存儲器中查找該目標(biāo)應(yīng)用的緩存,并將查找到的該目標(biāo)應(yīng)用的緩存清除。

比如,步驟S103和S104可以包括:

在確定出需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用之后,終端可以在該目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與該目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,以及與該目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名。然后,終端可以將該目標(biāo)用戶標(biāo)識號及目標(biāo)應(yīng)用包名作為運行參數(shù),在終端的只讀存儲器(ROM)中查找該目標(biāo)應(yīng)用的緩存,并將查找到的該目標(biāo)應(yīng)用的緩存清除。

例如,終端在將需要清除應(yīng)用緩存的乙賬號下的A應(yīng)用確定為目標(biāo)應(yīng)用,并將乙賬號確定為目標(biāo)用戶賬號之后,終端可以在乙賬號對應(yīng)的應(yīng)用管理列表中獲取與乙賬號對應(yīng)的用戶標(biāo)識號,以及A應(yīng)用的應(yīng)用包名。

然后,終端可以將乙賬號對應(yīng)的用戶標(biāo)識號,以及A應(yīng)用的應(yīng)用包名作為運行參數(shù),在終端的只讀存儲器中查找乙賬號下安裝的A應(yīng)用的緩存數(shù)據(jù),并將查找到的緩存數(shù)據(jù)清除。

例如,終端安裝的是安卓操作系統(tǒng),那么在獲取到目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號之后,終端可以調(diào)用并執(zhí)行安卓系統(tǒng)中用于清除應(yīng)用緩存的方法deleteApplicationCacheFilesLI(),該方法以應(yīng)用包名packageName及用戶標(biāo)識號userId為運行參數(shù)。例如,目標(biāo)應(yīng)用包名為packagename1,目標(biāo)用戶標(biāo)識號為userid1,那么在執(zhí)行方法deleteApplicationCacheFilesLI()時,終端所執(zhí)行的操作語句為deleteApplicationCacheFilesLI(packagename1,userid1)。

在執(zhí)行操作語句deleteApplicationCacheFilesLI(packagename1,userid1)時,終端會根據(jù)目標(biāo)應(yīng)用包名packagename1及目標(biāo)用戶標(biāo)識號userid1,查找目標(biāo)應(yīng)用保存在終端只讀存儲器中的緩存數(shù)據(jù),并將查找到的該目標(biāo)應(yīng)用的緩存數(shù)據(jù)從只讀存儲器中清除。

可以理解的是,本發(fā)明實施例中,在包含多個用戶賬號的情況下,終端可以清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存數(shù)據(jù),從而可以節(jié)省終端的存儲空間。

請參閱圖2,圖2為本發(fā)明實施例提供的應(yīng)用緩存的清除方法的另一流程示意圖,流程可以包括:

在步驟S201中,終端獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的用戶標(biāo)識號。

在步驟S202中,終端將各用戶標(biāo)識號作為運行參數(shù),獲取與當(dāng)前用戶賬號外的各用戶賬號對應(yīng)的應(yīng)用管理列表,各應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息。

比如,步驟S201和S202可以包括:

終端中包含甲、乙、丙三個用戶賬號,終端的當(dāng)前用戶賬號為甲賬號。那么,終端可以先獲取乙賬號和丙賬號對應(yīng)的用戶標(biāo)識號。然后,終端將乙賬號的用戶標(biāo)識號作為運行參數(shù),獲取乙賬號對應(yīng)的應(yīng)用管理列表,例如為乙應(yīng)用管理列表。之后,終端可以將丙賬號的用戶標(biāo)識號作為運行參數(shù),獲取丙賬號對應(yīng)的應(yīng)用管理列表,例如為丙應(yīng)用管理列表。

各用戶賬號對應(yīng)的應(yīng)用管理列表中包含了各用戶賬號對應(yīng)的存儲空間中安裝的所有應(yīng)用的相關(guān)信息,例如應(yīng)用的應(yīng)用名稱、版本號、緩存數(shù)據(jù)大小、應(yīng)用包名,以及各用戶賬號對應(yīng)的用戶標(biāo)識號等信息。

比如,終端安裝的是安卓操作系統(tǒng),那么終端可以通過調(diào)用安卓系統(tǒng)中的原生方法getUserIds()來獲取終端中所有用戶賬號對應(yīng)的用戶標(biāo)識號。然后,終端可以獲取當(dāng)前用戶賬號對應(yīng)的用戶標(biāo)識號。那么,在所有用戶標(biāo)識號中,除當(dāng)前用戶賬號對應(yīng)的用戶標(biāo)識號之外的用戶標(biāo)識號即為當(dāng)前用戶賬號外的其他用戶賬號對應(yīng)的用戶標(biāo)識號。

在獲取到其它用戶賬號對應(yīng)的用戶標(biāo)識號之后,終端可以將各用戶標(biāo)識號作為運行參數(shù),獲取與各用戶賬號對應(yīng)的應(yīng)用管理列表。例如,終端可以調(diào)用安卓系統(tǒng)中的原生方法getInstalledPackagesAsUser(int flags,int userId)來獲取與各用戶賬號對應(yīng)的應(yīng)用管理列表。該方法getInstalledPackagesAsUser(int flags,int userId)的運行參數(shù)中包含用戶標(biāo)識號userId。終端只要傳入用戶賬號對應(yīng)的用戶標(biāo)識號即可獲取到該用戶賬號對應(yīng)的應(yīng)用管理列表。

例如,在獲取到乙賬號對應(yīng)的用戶標(biāo)識號之后,終端將乙賬號對應(yīng)的用戶標(biāo)識號作為運行參數(shù),調(diào)用方法getInstalledPackagesAsUser(int flags,int userId)即可獲取到乙賬號對應(yīng)的應(yīng)用管理列表。

可以理解的是,通過獲取當(dāng)前用戶賬號外的其它用戶賬號對應(yīng)的應(yīng)用管理列表,終端的的當(dāng)前用戶即可了解到其它用戶賬號對應(yīng)的存儲空間中安裝了哪些應(yīng)用,以及這些應(yīng)用的相關(guān)信息。

在步驟S203中,當(dāng)檢測到應(yīng)用緩存清除操作時,終端確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用,該目標(biāo)用戶賬號為非當(dāng)前用戶賬號。

比如,當(dāng)前用戶賬號為甲賬號,終端在獲取到與乙賬號對應(yīng)的乙應(yīng)用管理列表,以及與丙賬號對應(yīng)的丙應(yīng)用管理列表后,終端檢測到用于指示清除乙賬號對應(yīng)的存儲空間中安裝的A應(yīng)用的緩存的操作,此時終端可以確定出相應(yīng)的目標(biāo)用戶賬號,及目標(biāo)應(yīng)用。

也就是說,當(dāng)檢測到用于指示清除乙賬號對應(yīng)的存儲空間中安裝的A應(yīng)用的緩存的操作時,終端可以將乙賬號確定為目標(biāo)用戶賬號,并將乙賬號下安裝的A應(yīng)用確定為目標(biāo)應(yīng)用。

在步驟S204中,終端在與該目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與該目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,及與該目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名。

比如,在將乙賬號確定為目標(biāo)用戶賬號,并將乙賬號下安裝的A應(yīng)用確定為目標(biāo)應(yīng)用之后,終端可以在步驟S202中獲取到的乙賬號對應(yīng)的乙應(yīng)用管理列表中,獲取與目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號(即乙賬號對應(yīng)的用戶標(biāo)識號),以及目標(biāo)應(yīng)用的應(yīng)用包名(即A應(yīng)用的應(yīng)用包名)。

例如,終端在乙應(yīng)用管理列表中獲取到的目標(biāo)用戶標(biāo)識號為02,目標(biāo)應(yīng)用包名為packagename1。

在步驟S205中,終端將該目標(biāo)應(yīng)用包名及該目標(biāo)用戶標(biāo)識號作為運行參數(shù),在只讀存儲器中查找該目標(biāo)應(yīng)用的緩存,并將查找到的該目標(biāo)應(yīng)用的緩存清除。

比如,在獲取到的目標(biāo)用戶標(biāo)識號02以及目標(biāo)應(yīng)用包名packagename1之后,終端可以將該目標(biāo)用戶標(biāo)識號和目標(biāo)應(yīng)用包名作為運行參數(shù),在終端的只讀存儲器中查找乙賬號下安裝的A應(yīng)用的緩存數(shù)據(jù),并將查找到的緩存數(shù)據(jù)清除。

比如,終端安裝的是安卓操作系統(tǒng),那么在獲取到目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號之后,終端可以調(diào)用并執(zhí)行安卓系統(tǒng)中用于清除應(yīng)用緩存的方法deleteApplicationCacheFilesLI(),該方法以應(yīng)用包名packageName及用戶標(biāo)識號userId為運行參數(shù)。

例如,在目標(biāo)應(yīng)用包名為packagename1,目標(biāo)用戶標(biāo)識號為02的情況下,在執(zhí)行方法deleteApplicationCacheFilesLI()時,終端所執(zhí)行的操作語句為deleteApplicationCacheFilesLI(packagename1,02)。

在步驟S206中,終端將該目標(biāo)應(yīng)用包名及該目標(biāo)用戶標(biāo)識號作為運行參數(shù),檢測終端的擴(kuò)展存儲器中是否包含該目標(biāo)應(yīng)用的緩存。

在步驟S207中,當(dāng)檢測出終端的擴(kuò)展存儲器中包含該目標(biāo)應(yīng)用的緩存時,終端清除該擴(kuò)展存儲器中包含的該目標(biāo)應(yīng)用的緩存。

比如,步驟S206和S207可以包括:

終端將目標(biāo)應(yīng)用包名packagename1和目標(biāo)用戶標(biāo)識號02作為運行參數(shù),檢測終端的擴(kuò)展存儲器中是否包含目標(biāo)應(yīng)用的緩存數(shù)據(jù)。

需要說明的是,終端的擴(kuò)展存儲器可以是諸如安全數(shù)碼卡(Secure Digital Memory Card,簡稱SD卡)、Micro SD卡等用于擴(kuò)展終端存儲容量的數(shù)據(jù)存儲卡。

如果檢測出終端的擴(kuò)展存儲器中未存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù),那么終端可以執(zhí)行其它操作,即步驟S208。例如,終端可以將目標(biāo)應(yīng)用的緩存清除結(jié)果返回給當(dāng)前用戶等。

如果檢測出終端的擴(kuò)展存儲器中存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù),那么終端可以將保存在擴(kuò)展存儲器中的目標(biāo)應(yīng)用的緩存數(shù)據(jù)清除。

例如,終端安裝的安卓操作系統(tǒng),那么終端可以調(diào)用并執(zhí)行安卓系統(tǒng)中的方法clearExternalStorageDataSync()來檢測終端的擴(kuò)展存儲器中是否存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù),并在擴(kuò)展存儲器中存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù)的情況下,將該目標(biāo)應(yīng)用的緩存數(shù)據(jù)清除。該方法clearExternalStorageDataSync()的運行參數(shù)中包括目標(biāo)應(yīng)用的目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號。

在一種實施方式中,在步驟S207之后,終端還可以將目標(biāo)應(yīng)用的緩存清除結(jié)果返回給當(dāng)前用戶。例如,終端可以生成提示信息,該提示信息用于告知當(dāng)前用戶是否已經(jīng)成功將目標(biāo)應(yīng)用的緩存文件清除。

在一種實施方式中,步驟S203中當(dāng)檢測到應(yīng)用緩存清除操作時,終端確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用的步驟,可以包括:

當(dāng)檢測到應(yīng)用緩存清除操作時,檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限,所述預(yù)設(shè)清除權(quán)限為清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的權(quán)限;

當(dāng)檢測出當(dāng)前用戶賬號具有預(yù)設(shè)清除權(quán)限時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用。

比如,當(dāng)終端具有多個用戶賬號時,可以只允許其中的一個或少數(shù)幾個用戶賬號能夠清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù),而非全部用戶賬號都可以清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

在一實施方式中,終端可以預(yù)先設(shè)置一個清除權(quán)限,并將該清除權(quán)限賦予一個或多個用戶賬號。只有被賦予該清除權(quán)限的用戶賬號才能夠清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

那么,當(dāng)檢測到用于清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的操作時,終端可以檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限,該預(yù)設(shè)清除權(quán)限為允許清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的權(quán)限。也即,當(dāng)終端檢測到當(dāng)前用戶要清除其他用戶賬號下安裝的應(yīng)用的緩存時,終端可以檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限。

如果終端檢測出當(dāng)前用戶賬號具有上述預(yù)設(shè)清除權(quán)限,即當(dāng)前用戶具有清除其他用戶賬號下安裝的應(yīng)用的緩存的權(quán)限,那么終端可以將需要清除應(yīng)用緩存的用戶賬號確定為目標(biāo)用戶賬號,并將需要清除緩存的應(yīng)用確定為目標(biāo)應(yīng)用。

在一種實施方式,終端還可以執(zhí)行如下步驟:

當(dāng)檢測出當(dāng)前用戶賬號不具有預(yù)設(shè)清除權(quán)限時,終端獲取當(dāng)前用戶的身份驗證信息;

當(dāng)檢測出當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息匹配時,終端賦予當(dāng)前用戶賬號該預(yù)設(shè)清除權(quán)限。

比如,在對當(dāng)前用戶賬號所擁有的權(quán)限進(jìn)行檢測之后,終端判斷出當(dāng)前用戶賬號不具有預(yù)設(shè)清除權(quán)限,那么終端還可以獲取當(dāng)前用戶的身份驗證信息,并判斷該身份驗證信息是否和預(yù)設(shè)身份驗證信息相匹配。該預(yù)設(shè)身份驗證信息可以是終端機(jī)主的身份驗證信息。例如,該身份驗證信息可以是終端機(jī)主預(yù)先設(shè)定的密碼信息等。

如果終端判斷出當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息相匹配,那么可以認(rèn)為當(dāng)前用戶得到終端機(jī)主的許可,終端機(jī)主允許其刪除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。此時,終端可以將預(yù)設(shè)清除權(quán)限賦予當(dāng)前用戶賬號,以使得當(dāng)前用戶賬號能夠清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

如果終端判斷出當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息不匹配,那么終端可以不對當(dāng)前用戶賬號授予預(yù)設(shè)清除權(quán)限,并提示當(dāng)前用戶無權(quán)清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù),以使當(dāng)前用戶無法清除其它用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

在一種實施方式中,在賦予當(dāng)前用戶賬號預(yù)設(shè)清除權(quán)限之后,終端還可以對賦予當(dāng)前用戶賬號的預(yù)設(shè)清除權(quán)限設(shè)置有效時長。例如,在賦予當(dāng)前用戶賬號預(yù)設(shè)清除權(quán)限之后,終端可以對該賦予的權(quán)限設(shè)置一個有效時長,例如1小時。也就是說,在1小時內(nèi),當(dāng)前用戶賬號具有預(yù)設(shè)清除權(quán)限。而在1小時之后,終端將自動取消賦予當(dāng)前用戶賬號的預(yù)設(shè)清除權(quán)限。

在一種實施方式中,在賦予當(dāng)前用戶賬號預(yù)設(shè)清除權(quán)限之后,終端也可以執(zhí)行如下步驟:當(dāng)檢測到目標(biāo)應(yīng)用的緩存已被清除時,終端將賦予當(dāng)前用戶賬號的預(yù)設(shè)清除權(quán)限取消。

比如,在賦予當(dāng)前用戶賬號預(yù)設(shè)清除權(quán)限之后,終端可以檢測目標(biāo)應(yīng)用的緩存是否已被成功清除。如果終端檢測到目標(biāo)應(yīng)用的緩存已被成功清除,那么終端可以將賦予當(dāng)前用戶賬號的預(yù)設(shè)清除權(quán)限取消。若在此之后,終端的當(dāng)前用戶又需要清除其他用戶賬號下安裝的應(yīng)用,那么當(dāng)前用戶需要再次申請預(yù)設(shè)清除權(quán)限。

可以理解的是,通過動態(tài)地申請和撤銷預(yù)設(shè)清除權(quán)限這種方式,可以提高終端清除應(yīng)用緩存的靈活性。

在一種實施方式中,可以將步驟S205至S207中對應(yīng)的操作集成在一個新創(chuàng)建的方法中,該新創(chuàng)建的方法可以是創(chuàng)建于安卓應(yīng)用框架層(Android Framework)中的方法。例如,該新創(chuàng)建的方法可以命名為deleteApplicationCacheFilesCrossUser,該方法的可執(zhí)行程序代碼可以如下:

需要說明的是,在一種實施方式中,方法deleteApplicationCacheFilesCrossUser()的運行參數(shù)中還可以包括用于監(jiān)聽緩存清除結(jié)果的對象observer。

當(dāng)然,上述方法deleteApplicationCacheFilesCrossUser()的運行參數(shù)中也可以不包含用于監(jiān)聽緩存清除結(jié)果的對象observer。也就是說,如果不需要將目標(biāo)應(yīng)用的緩存清除結(jié)果返回給當(dāng)前用戶,那么該方法的運行參數(shù)中就可以不包含observer。

在上述方法deleteApplicationCacheFilesCrossUser()的第一部分,終端可以檢查該方法的調(diào)用者(也即當(dāng)前用戶賬號)是否具有調(diào)用本方法的權(quán)限,而調(diào)用本方法的權(quán)限可以是安卓系統(tǒng)中允許刪除緩存文件的權(quán)限android.Manifest.permission.DELETE_CACHE_FILES。如果檢測出該方法的調(diào)用者具有調(diào)用該允許刪除緩存文件的權(quán)限,那么終端就繼續(xù)往下執(zhí)行本方法。否則,終端可以取消執(zhí)行本方法,也即不對目標(biāo)應(yīng)用的緩存進(jìn)行清除。

需要說明的是,上述調(diào)用方法deleteApplicationCacheFilesCrossUser()的權(quán)限(允許刪除緩存文件的權(quán)限)和上文所述的預(yù)設(shè)清除權(quán)限是不一樣的權(quán)限。在一種實施方式中,終端可以將這兩種權(quán)限預(yù)先分配給指定的用戶賬號,使得只有同時具備這兩種權(quán)限的用戶賬號才能清除其它用戶賬號下安裝的應(yīng)用的緩存。

或者,終端也可以只設(shè)置上述兩種權(quán)限中的任意一種,那么同樣的,只有具備相應(yīng)權(quán)限的用戶賬號才能清除其它用戶賬號下安裝的應(yīng)用的緩存。又或者,終端也可以不設(shè)置上述兩種權(quán)限,等等。

在一種實施方式中,用戶賬號可以動態(tài)地申請或取消上述兩種權(quán)限。比如,在當(dāng)前用戶輸入的身份驗證信息與機(jī)主預(yù)先保存在終端中的身份驗證信息相匹配的情況下,終端可以賦予當(dāng)前用戶賬號相應(yīng)的權(quán)限。

需要說明的是,由于緩存文件可以提高應(yīng)用的運行效率,比如,對于應(yīng)用中使用的某張照片,當(dāng)終端將該照片從網(wǎng)絡(luò)下載到終端之后,終端可以將該照片存入緩存文件中。這樣,當(dāng)應(yīng)用再次需要使用該照片時,就可以直接從緩存文件中獲取該照片,而不需要在網(wǎng)絡(luò)上重新下載。

因此,在一種實施方式中,終端可以將清除非當(dāng)前用戶賬號中安裝的應(yīng)用的緩存的功能只提供給機(jī)主用戶,或者少數(shù)幾個用戶。比如終端可以設(shè)置兩個權(quán)限,分別為預(yù)設(shè)清除權(quán)限和調(diào)用方法deleteApplicationCacheFilesCrossUser()的權(quán)限。只有同時具備這兩個權(quán)限的用戶賬號才能清除其他用戶賬號下安裝的應(yīng)用的緩存。

可以理解的是,通過設(shè)置上述權(quán)限可以提高終端應(yīng)用的緩存文件的數(shù)據(jù)安全性,避免緩存文件被隨意刪除。

上述方法deleteApplicationCacheFilesCrossUser()中的第二部分,用于在終端調(diào)試本方法時輸出相應(yīng)的日志文件。也就是說,在正常執(zhí)行本方法時,終端不會執(zhí)行該第二步。只有在終端對本方法進(jìn)行調(diào)試時,才會輸出相應(yīng)的日志文件。在方法deleteApplicationCacheFilesCrossUser()中寫入語句if(DEBUG_PMS)Slog.d(TAG,"deleteAppCaches()user:"+userId)可以提高本方法的健壯性,使本方法更加完善。

在一種的實施方式中,在上述方法deleteApplicationCacheFilesCrossUser()中也可以不寫入第二部分中的if(DEBUG_PMS)Slog.d(TAG,"deleteAppCaches()user:"+userId)的語句。

在上述方法deleteApplicationCacheFilesCrossUser()中的第三部分,終端可以啟動一個新的線程以清除目標(biāo)應(yīng)用的緩存。在可能的實施方式中,在此步驟中,終端調(diào)用并執(zhí)行方法deleteApplicationCacheFilesLI()來清除目標(biāo)應(yīng)用保存在終端只讀存儲器中的緩存,該方法deleteApplicationCacheFilesLI()以目標(biāo)應(yīng)用的目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號為運行參數(shù)。

需要說明的是,在此步驟中,定義了一個布爾型(boolean)變量succeded,并將方法deleteApplicationCacheFilesLI()的返回賦值給該變量succeded。定義并將方法deleteApplicationCacheFilesLI()的返回賦值給變量succeded是為了在后續(xù)步驟中將目標(biāo)應(yīng)用緩存的清除結(jié)果返回給當(dāng)前用戶時,使用該變量succeded作為一個運行參數(shù)。

在一種實施方式中,如果不需要將目標(biāo)應(yīng)用緩存的清除結(jié)果返回給當(dāng)前用戶,那么也就不需要定義該布爾型變量succeded,以及將方法deleteApplicationCacheFilesLI()的返回賦值給變量succeded。

在一種實施方式中,在調(diào)用并執(zhí)行方法deleteApplicationCacheFilesLI()清除目標(biāo)應(yīng)用的緩存數(shù)據(jù)的過程中,可以控制終端禁止其它進(jìn)程調(diào)用該方法deleteApplicationCacheFilesLI()。在本實施例中,可以通過調(diào)用synchronized()方法來防止其它進(jìn)程也調(diào)用該方法。這可以保證終端成功地將目標(biāo)應(yīng)用的緩存清除。

在上述方法deleteApplicationCacheFilesCrossUser()中的第四部分,可以調(diào)用并執(zhí)行方法clearExternalStorageDataSync()。也就是說,終端會檢測其擴(kuò)展存儲空間中是否包含有目標(biāo)應(yīng)用的緩存文件,若檢測到終端的擴(kuò)展存儲空間中存儲有目標(biāo)應(yīng)用的緩存文件,那么終端可以將終端擴(kuò)展存儲空間中的目標(biāo)應(yīng)用的緩存文件清除。

可以理解的是,終端有可能將應(yīng)用的緩存文件按照用戶的設(shè)置,存儲到擴(kuò)展存儲空間。因此,通過執(zhí)行方法clearExternalStorageDataSync(),可以提高對目標(biāo)應(yīng)用的緩存的清除的有效性,避免因終端將目標(biāo)應(yīng)用的緩存文件存儲到擴(kuò)展存儲空間所導(dǎo)致的未能成功清除或未能完全清除目標(biāo)應(yīng)用的緩存的問題出現(xiàn)。

在上述方法deleteApplicationCacheFilesCrossUser()中的第五部分,終端可以將目標(biāo)應(yīng)用緩存的清除結(jié)果反饋給當(dāng)前用戶。也就是,終端可以告知用戶是否成功將目標(biāo)應(yīng)用的緩存清除。如果在將目標(biāo)應(yīng)用的緩存清除結(jié)果反饋給當(dāng)前用戶時出現(xiàn)異常,那么終端可以輸出相應(yīng)的日志文件。

可以理解的是,將目標(biāo)應(yīng)用的緩存清除結(jié)果反饋給當(dāng)前用戶,可以使當(dāng)前用戶直觀地了解到目標(biāo)應(yīng)用的緩存清除結(jié)果。

需要說明的是,在可能的實施方式中,終端也可以不將目標(biāo)應(yīng)用緩存的清除結(jié)果反饋給當(dāng)前用戶。

請參閱圖3A至圖3D,圖3A至圖3D為本發(fā)明實施例提供的應(yīng)用緩存的清除方法的場景示意圖。

例如,終端中包含甲、乙、丙三個用戶賬號。其中,甲賬號對應(yīng)的存儲空間中安裝了A應(yīng)用、B應(yīng)用和C應(yīng)用。乙賬號對應(yīng)的存儲空間中安裝了A應(yīng)用和D應(yīng)用。丙賬號對應(yīng)的存儲空間中安裝了A應(yīng)用。

例如,當(dāng)前用戶賬號為甲賬號,那么終端可以先獲取乙賬號和丙賬號對應(yīng)的應(yīng)用管理列表。乙賬號對應(yīng)的應(yīng)用管理列表中包含了乙賬號下安裝的A應(yīng)用和D應(yīng)用的相關(guān)信息,如各應(yīng)用的應(yīng)用名稱、版本號、緩存數(shù)據(jù)大小、應(yīng)用包名,以及乙賬號對應(yīng)的用戶標(biāo)識號等信息。丙賬號對應(yīng)的應(yīng)用管理列表中包含了丙賬號下安裝的A應(yīng)用的相關(guān)信息。

可以理解的是,在獲取到乙賬號和丙賬號對應(yīng)的應(yīng)用管理列表后,當(dāng)前用戶在相應(yīng)的應(yīng)用管理界面上就可以了解到乙賬號和丙賬號對應(yīng)的存儲空間中安裝的各應(yīng)用的相關(guān)信息,如圖3A。

比如,當(dāng)前用戶甲點擊了用戶乙安裝的A應(yīng)用,以查看用戶乙安裝的A應(yīng)用的相關(guān)信息,如圖3B。

在終端界面上,用戶甲可以查看到用戶乙所安裝的A應(yīng)用的相關(guān)信息,其中包括用戶乙安裝的A應(yīng)用的緩存大小,例如為120KB,如圖3C。

此時,當(dāng)前用戶認(rèn)為乙賬號下安裝的A應(yīng)用占用的緩存過多,并點擊了終端界面上的“清除緩存”按鈕,將乙賬號下安裝的A應(yīng)用的緩存清除,如圖3D。

終端在接收到當(dāng)前用戶輸入的用于指示清除應(yīng)用的緩存的指令時,可以先檢測甲賬號是否具有預(yù)設(shè)清除權(quán)限,該預(yù)設(shè)清除權(quán)限為清除非當(dāng)前用戶賬號下安裝的應(yīng)用的緩存的權(quán)限。

例如,終端檢測出當(dāng)前的甲賬號具有預(yù)設(shè)清除權(quán)限,那么終端可以將需要清除應(yīng)用緩存的乙賬號確定為目標(biāo)用戶賬號,并將乙賬號下安裝的A應(yīng)用確定為目標(biāo)應(yīng)用。

然后,終端可以在之前獲取到的乙賬號對應(yīng)的應(yīng)用管理列表中,獲取目標(biāo)用戶賬號(乙賬號)對應(yīng)的目標(biāo)用戶標(biāo)識號,例如為02,以及目標(biāo)應(yīng)用(即A應(yīng)用)對應(yīng)的目標(biāo)應(yīng)用包名,例如為packagename1。

在此之后,終端可以將目標(biāo)應(yīng)用包名packagename1及目標(biāo)用戶標(biāo)識號02作為運行參數(shù),在只讀存儲器中查找乙賬號下安裝的A應(yīng)用的緩存數(shù)據(jù),并將查找到的緩存數(shù)據(jù)清除。

另外,終端可以將目標(biāo)應(yīng)用包名packagename1及目標(biāo)用戶標(biāo)識號02作為運行參數(shù),檢測終端的擴(kuò)展存儲器(如SD卡)中是否保存有乙賬號下安裝的A應(yīng)用的緩存數(shù)據(jù)。當(dāng)檢測到終端的擴(kuò)展存儲器中保存有乙賬號下安裝的A應(yīng)用的緩存數(shù)據(jù)時,終端可以將保存在該擴(kuò)展存儲器中的乙賬號安裝的A應(yīng)用的緩存數(shù)據(jù)清除。

在一種實施方式中,若終端安裝的操作系統(tǒng)為安卓系統(tǒng),那么終端可以調(diào)用并執(zhí)行方法deleteApplicationCacheFilesLI(),該方法以乙賬號安裝的A應(yīng)用的應(yīng)用包名packagename1及用戶標(biāo)識號02為運行參數(shù)。在執(zhí)行該方法時,終端會根據(jù)應(yīng)用包名packagename1以及用戶標(biāo)識號02,在終端的只讀存儲器中查找乙賬號安裝的A應(yīng)用對應(yīng)的緩存數(shù)據(jù),并將查找到的乙賬號安裝的A應(yīng)用保存在終端只讀存儲器中的緩存數(shù)據(jù)刪除。

然后,終端可以調(diào)用并執(zhí)行方法clearExternalStorageDataSync(),該方法以乙賬號安裝的A應(yīng)用的應(yīng)用包名packagename1及乙賬號的用戶標(biāo)識號02為運行參數(shù)。在執(zhí)行該方法時,終端會檢測其擴(kuò)展存儲器(如SD卡)中是否包含有乙賬號安裝的A應(yīng)用的緩存數(shù)據(jù)。當(dāng)檢測到終端擴(kuò)展存儲器中保存有乙賬號安裝的A應(yīng)用的緩存數(shù)據(jù)時,終端就將保存在該擴(kuò)展存儲器中的乙賬號安裝的A應(yīng)用的緩存數(shù)據(jù)清除。

請參閱圖4,圖4為本發(fā)明實施例提供的應(yīng)用緩存的清除裝置的結(jié)構(gòu)示意圖。應(yīng)用緩存的清除裝置300可以包括:第一獲取模塊301,確定模塊302,第二獲取模塊303,以及第一清除模塊304。

第一獲取模塊301,用于獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表,各所述應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息。

比如,終端中包含甲、乙、丙三個用戶賬號,終端的當(dāng)前用戶賬號為甲賬號。那么,第一獲取模塊301可以先獲取乙賬號和丙賬號對應(yīng)的應(yīng)用管理列表。各賬號對應(yīng)的應(yīng)用管理列表中包含了各賬號對應(yīng)的存儲空間中安裝的所有應(yīng)用的相關(guān)信息,例如應(yīng)用的應(yīng)用名稱、版本號、緩存數(shù)據(jù)大小、應(yīng)用包名(packageName),以及各賬號對應(yīng)的用戶標(biāo)識號(userID)等信息。

在一種實施方式中,第一獲取模塊301可以用于:

獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的用戶標(biāo)識號;

將各用戶標(biāo)識號作為運行參數(shù),獲取與當(dāng)前用戶賬號外的各用戶賬號對應(yīng)的應(yīng)用管理列表。

比如,終端安裝的是安卓(Android)操作系統(tǒng),那么第一獲取模塊301可以通過調(diào)用安卓系統(tǒng)中的原生方法getUserIds()來獲取終端中所有用戶賬號對應(yīng)的用戶標(biāo)識號(userID)。然后,終端可以獲取當(dāng)前用戶賬號對應(yīng)的用戶標(biāo)識號。那么,在所有用戶標(biāo)識號中,除當(dāng)前用戶賬號對應(yīng)的用戶標(biāo)識號之外的用戶標(biāo)識號即為當(dāng)前用戶賬號外的其他用戶賬號對應(yīng)的用戶標(biāo)識號。

在獲取到其它用戶賬號對應(yīng)的用戶標(biāo)識號之后,第一獲取模塊301可以將各用戶標(biāo)識號作為運行參數(shù),獲取與各用戶賬號對應(yīng)的應(yīng)用管理列表。例如,第一獲取模塊301可以調(diào)用安卓系統(tǒng)中的原生方法getInstalledPackagesAsUser(int flags,int userId)來獲取與各用戶賬號對應(yīng)的應(yīng)用管理列表。該方法getInstalledPackagesAsUser(int flags,int userId)的運行參數(shù)中包含用戶標(biāo)識號userId。第一獲取模塊301只要傳入用戶賬號對應(yīng)的用戶標(biāo)識號即可獲取到該用戶賬號對應(yīng)的應(yīng)用管理列表。

例如,在獲取到乙賬號對應(yīng)的用戶標(biāo)識號之后,第一獲取模塊301將乙賬號對應(yīng)的用戶標(biāo)識號作為運行參數(shù),調(diào)用方法getInstalledPackagesAsUser(int flags,int userId)即可獲取到乙賬號對應(yīng)的應(yīng)用管理列表。

可以理解的是,通過獲取當(dāng)前用戶賬號外的其它用戶賬號對應(yīng)的應(yīng)用管理列表,終端的的當(dāng)前用戶即可了解到其它用戶賬號對應(yīng)的存儲空間中安裝了哪些應(yīng)用,以及這些應(yīng)用的相關(guān)信息。

確定模塊302,用于當(dāng)檢測到應(yīng)用緩存清除操作時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用,所述目標(biāo)用戶賬號為非當(dāng)前用戶賬號。

比如,在第一獲取模塊301獲取到當(dāng)前用戶賬號外的其它用戶賬號對應(yīng)的應(yīng)用管理列表后,終端檢測到用于清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的操作,此時確定模塊302可以確定出需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用。

例如,當(dāng)前用戶賬號為甲賬號,終端在獲取到與乙賬號對應(yīng)的乙應(yīng)用管理列表,以及與丙賬號對應(yīng)的丙應(yīng)用管理列表后,終端檢測到用于指示清除乙賬號對應(yīng)的存儲空間中安裝的A應(yīng)用的緩存的操作,此時確定模塊302可以將乙賬號確定為目標(biāo)用戶賬號,并將A應(yīng)用確定為目標(biāo)應(yīng)用。

第二獲取模塊303,用于在與所述目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與所述目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,及與所述目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名。

第一清除模塊304,用于將所述目標(biāo)應(yīng)用包名及所述目標(biāo)用戶標(biāo)識號作為運行參數(shù),在終端只讀存儲器中查找所述目標(biāo)應(yīng)用的緩存,并將查找到的所述目標(biāo)應(yīng)用的緩存清除。

比如,在確定模塊302確定出需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用之后,第二獲取模塊303可以在該目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與該目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,以及與該目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名。然后,第一清除模塊304可以將該目標(biāo)用戶標(biāo)識號及目標(biāo)應(yīng)用包名作為運行參數(shù),在終端的只讀存儲器(ROM)中查找該目標(biāo)應(yīng)用的緩存,并將查找到的該目標(biāo)應(yīng)用的緩存清除。

例如,確定模塊302在將需要清除應(yīng)用緩存的乙賬號下的A應(yīng)用確定為目標(biāo)應(yīng)用,并將乙賬號確定為目標(biāo)用戶賬號之后,第二獲取模塊303可以在乙賬號對應(yīng)的應(yīng)用管理列表中獲取與乙賬號對應(yīng)的用戶標(biāo)識號,以及A應(yīng)用的應(yīng)用包名。

然后,第一清除模塊304可以將乙賬號對應(yīng)的用戶標(biāo)識號,以及A應(yīng)用的應(yīng)用包名作為運行參數(shù),在終端的只讀存儲器中查找乙賬號下安裝的A應(yīng)用的緩存數(shù)據(jù),并將查找到的緩存數(shù)據(jù)清除。

例如,終端安裝的是安卓操作系統(tǒng),那么在第二獲取模塊303獲取到目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號之后,第一清除模塊304可以調(diào)用并執(zhí)行安卓系統(tǒng)中用于清除應(yīng)用緩存的方法deleteApplicationCacheFilesLI(),該方法以應(yīng)用包名packageName及用戶標(biāo)識號userId為運行參數(shù)。例如,目標(biāo)應(yīng)用包名為packagename1,目標(biāo)用戶標(biāo)識號為userid1,那么在執(zhí)行方法deleteApplicationCacheFilesLI()時,終端所執(zhí)行的操作語句為deleteApplicationCacheFilesLI(packagename1,userid1)。

在執(zhí)行操作語句deleteApplicationCacheFilesLI(packagename1,userid1)時,第一清除模塊304會根據(jù)目標(biāo)應(yīng)用包名packagename1及目標(biāo)用戶標(biāo)識號userid1,查找目標(biāo)應(yīng)用保存在終端只讀存儲器中的緩存數(shù)據(jù),并將查找到的該目標(biāo)應(yīng)用的緩存數(shù)據(jù)從只讀存儲器中清除。

可以理解的是,本發(fā)明實施例中,在包含多個用戶賬號的情況下,終端可以清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存數(shù)據(jù),從而可以節(jié)省終端的存儲空間。

請一并參閱圖5,圖5為本發(fā)明實施例提供的應(yīng)用緩存的清除裝置的另一結(jié)構(gòu)示意圖。應(yīng)用緩存的清除裝置300還可以包括:第二清除模塊305以及授權(quán)模塊306。

第二清除模塊305,用于將所述目標(biāo)應(yīng)用包名及所述目標(biāo)用戶標(biāo)識號作為運行參數(shù),檢測終端的擴(kuò)展存儲器中是否包含所述目標(biāo)應(yīng)用的緩存;當(dāng)檢測出終端的擴(kuò)展存儲器中包含所述目標(biāo)應(yīng)用的緩存時,清除所述擴(kuò)展存儲器中包含的所述目標(biāo)應(yīng)用的緩存。

比如,在第一清除模塊304將查找到的目標(biāo)應(yīng)用保存在終端只讀存儲器中的緩存數(shù)據(jù)清除之后,終端的第二清除模塊305還可以將目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號作為運行參數(shù),檢測終端的擴(kuò)展存儲器中是否包含目標(biāo)應(yīng)用的緩存數(shù)據(jù)。

需要說明的是,終端的擴(kuò)展存儲器可以是諸如安全數(shù)碼卡(Secure Digital Memory Card,簡稱SD卡)、Micro SD卡等用于擴(kuò)展終端存儲容量的數(shù)據(jù)存儲卡。

如果檢測出終端的擴(kuò)展存儲器中未存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù),那么終端可以執(zhí)行其它操作。例如,終端可以將目標(biāo)應(yīng)用的緩存清除結(jié)果返回給當(dāng)前用戶等。

如果檢測出終端的擴(kuò)展存儲器中存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù),那么第二清除模塊305可以將保存在擴(kuò)展存儲器中的目標(biāo)應(yīng)用的緩存數(shù)據(jù)清除。

例如,終端安裝的安卓操作系統(tǒng),那么第二清除模塊305可以調(diào)用并執(zhí)行安卓系統(tǒng)中的方法clearExternalStorageDataSync()來檢測終端的擴(kuò)展存儲器中是否存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù),并在擴(kuò)展存儲器中存儲有目標(biāo)應(yīng)用的緩存數(shù)據(jù)的情況下,將該目標(biāo)應(yīng)用的緩存數(shù)據(jù)清除。該方法clearExternalStorageDataSync()的運行參數(shù)中包括目標(biāo)應(yīng)用的目標(biāo)應(yīng)用包名和目標(biāo)用戶標(biāo)識號。

授權(quán)模塊306,用于當(dāng)檢測出當(dāng)前用戶賬號不具有預(yù)設(shè)清除權(quán)限時,獲取當(dāng)前用戶的身份驗證信息;當(dāng)檢測出所述當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息匹配時,賦予當(dāng)前用戶賬號所述預(yù)設(shè)清除權(quán)限。

比如,在一種實施方式中,終端的確定模塊302可以用于:

當(dāng)檢測到應(yīng)用緩存清除操作時,檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限,所述預(yù)設(shè)清除權(quán)限為清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的權(quán)限;

當(dāng)檢測出當(dāng)前用戶賬號具有預(yù)設(shè)清除權(quán)限時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用。

例如,當(dāng)終端具有多個用戶賬號時,可以只允許其中的一個或少數(shù)幾個用戶賬號能夠清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù),而非全部用戶賬號都可以清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

在一實施方式中,終端可以預(yù)先設(shè)置一個清除權(quán)限,并將該清除權(quán)限賦予一個或多個用戶賬號。只有被賦予該清除權(quán)限的用戶賬號才能夠清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

那么,當(dāng)檢測到用于清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的操作時,終端可以檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限,該預(yù)設(shè)清除權(quán)限為允許清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的權(quán)限。也即,當(dāng)終端檢測到當(dāng)前用戶要清除其他用戶賬號下安裝的應(yīng)用的緩存時,終端的確定模塊302可以檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限。

如果確定模塊302檢測出當(dāng)前用戶賬號具有上述預(yù)設(shè)清除權(quán)限,即當(dāng)前用戶具有清除其他用戶賬號下安裝的應(yīng)用的緩存的權(quán)限,那么確定模塊302可以將需要清除應(yīng)用緩存的用戶賬號確定為目標(biāo)用戶賬號,并將需要清除緩存的應(yīng)用確定為目標(biāo)應(yīng)用,該目標(biāo)用戶賬號為非當(dāng)前用戶賬號。

而如果在對當(dāng)前用戶賬號所擁有的權(quán)限進(jìn)行檢測之后,確定模塊302判斷出當(dāng)前用戶賬號不具有預(yù)設(shè)清除權(quán)限,那么授權(quán)模塊306還可以獲取當(dāng)前用戶的身份驗證信息,并判斷該身份驗證信息是否和預(yù)設(shè)身份驗證信息相匹配。該預(yù)設(shè)身份驗證信息可以是終端機(jī)主的身份驗證信息。例如,該身份驗證信息可以是終端機(jī)主預(yù)先設(shè)定的密碼信息等。

如果授權(quán)模塊306判斷出當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息相匹配,那么可以認(rèn)為當(dāng)前用戶得到終端機(jī)主的許可,終端機(jī)主允許其刪除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。此時,授權(quán)模塊306可以將預(yù)設(shè)清除權(quán)限賦予當(dāng)前用戶賬號,以使得當(dāng)前用戶賬號能夠清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

如果授權(quán)模塊306判斷出當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息不匹配,那么授權(quán)模塊306可以不對當(dāng)前用戶賬號授予預(yù)設(shè)清除權(quán)限,并提示當(dāng)前用戶無權(quán)清除其他用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù),以使當(dāng)前用戶無法清除其它用戶賬號下安裝的應(yīng)用的緩存數(shù)據(jù)。

本發(fā)明實施例還提供一種計算機(jī)設(shè)備,包括存儲器,處理器,以及存儲在所述存儲器中并可在所述處理器中運行的計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時可以實現(xiàn)本發(fā)明實施例中提供的應(yīng)用緩存的清除方法中的步驟。

例如,上述計算機(jī)設(shè)備可以是移動終端,如平板電腦、手機(jī)等。請參閱圖6,圖6為本發(fā)明實施例提供的移動終端結(jié)構(gòu)示意圖。該移動終端500可以包括輸入單元501、顯示單元502、包括有一個或一個以上計算機(jī)可讀存儲介質(zhì)的存儲器503、傳感器504、包括有一個或者一個以上處理核心的處理器505以及電源506等部件。本領(lǐng)域技術(shù)人員可以理解,圖6中示出的移動終端結(jié)構(gòu)并不構(gòu)成對移動終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。

輸入單元501可用于接收輸入的數(shù)字、字符信息或用戶特征信息(比如指紋),以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號輸入。在一些實施例中,輸入單元501可包括觸敏表面以及其他輸入設(shè)備。觸敏表面,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置。

顯示單元502可用于顯示由用戶輸入的信息或提供給用戶的信息以及移動終端的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元504可包括顯示面板??蛇x的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來配置顯示面板。

存儲器503可用于存儲應(yīng)用程序和數(shù)據(jù)。存儲器503存儲的應(yīng)用程序中包含有可執(zhí)行代碼。應(yīng)用程序可以組成各種功能模塊。處理器505通過運行存儲在存儲器503的應(yīng)用程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。

移動終端還可包括至少一種傳感器504,比如光傳感器、運動傳感器以及指紋傳感器等。

處理器505是移動終端的控制中心,利用各種接口和線路連接整個移動終端的各個部分,通過運行或執(zhí)行存儲在存儲器503內(nèi)的應(yīng)用程序,以及調(diào)用存儲在存儲器503內(nèi)的數(shù)據(jù),執(zhí)行移動終端的各種功能和處理數(shù)據(jù),從而對移動終端進(jìn)行整體監(jiān)控。

移動終端還包括給各個部件供電的電源506(比如電池)。優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器505邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。

盡管圖6中未示出,移動終端還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。

具體在本實施例中,移動終端中的處理器505會按照如下的指令,將一個或一個以上的應(yīng)用程序的進(jìn)程對應(yīng)的可執(zhí)行代碼加載到存儲器503中,并由處理器505來運行存儲在存儲器503中的應(yīng)用程序,從而實現(xiàn)各種功能:

獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表,各所述應(yīng)用管理列表中包含相應(yīng)的用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的信息;當(dāng)檢測到應(yīng)用緩存清除操作時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用,所述目標(biāo)用戶賬號為非當(dāng)前用戶賬號;在與所述目標(biāo)用戶賬號對應(yīng)的應(yīng)用管理列表中,獲取與所述目標(biāo)用戶賬號對應(yīng)的目標(biāo)用戶標(biāo)識號,及與所述目標(biāo)應(yīng)用對應(yīng)的目標(biāo)應(yīng)用包名;將所述目標(biāo)應(yīng)用包名及所述目標(biāo)用戶標(biāo)識號作為運行參數(shù),在終端只讀存儲器中查找所述目標(biāo)應(yīng)用的緩存,并將查找到的所述目標(biāo)應(yīng)用的緩存清除。

處理器505在執(zhí)行獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的應(yīng)用管理列表的步驟時,可以包括:獲取當(dāng)前用戶賬號外的用戶賬號對應(yīng)的用戶標(biāo)識號;將各所述用戶標(biāo)識號作為運行參數(shù),獲取與當(dāng)前用戶賬號外的各用戶賬號對應(yīng)的應(yīng)用管理列表。

處理器505還可以執(zhí)行如下步驟:將所述目標(biāo)應(yīng)用包名及所述目標(biāo)用戶標(biāo)識號作為運行參數(shù),檢測終端的擴(kuò)展存儲器中是否包含所述目標(biāo)應(yīng)用的緩存;當(dāng)檢測出終端的擴(kuò)展存儲器中包含所述目標(biāo)應(yīng)用的緩存時,清除所述擴(kuò)展存儲器中包含的所述目標(biāo)應(yīng)用的緩存。

處理器505在執(zhí)行當(dāng)檢測到應(yīng)用緩存清除操作時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用的步驟時,可以包括:當(dāng)檢測到應(yīng)用緩存清除操作時,檢測當(dāng)前用戶賬號是否具有預(yù)設(shè)清除權(quán)限,所述預(yù)設(shè)清除權(quán)限為清除非當(dāng)前用戶賬號對應(yīng)的存儲空間中安裝的應(yīng)用的緩存的權(quán)限;當(dāng)檢測出當(dāng)前用戶賬號具有預(yù)設(shè)清除權(quán)限時,確定需要清除應(yīng)用緩存的目標(biāo)用戶賬號和目標(biāo)應(yīng)用。

處理器505還可以執(zhí)行如下步驟:當(dāng)檢測出當(dāng)前用戶賬號不具有預(yù)設(shè)清除權(quán)限時,獲取當(dāng)前用戶的身份驗證信息;當(dāng)檢測出所述當(dāng)前用戶的身份驗證信息和預(yù)設(shè)身份驗證信息匹配時,賦予當(dāng)前用戶賬號所述預(yù)設(shè)清除權(quán)限。

在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見上文針對應(yīng)用緩存的清除方法的詳細(xì)描述,此處不再贅述。

本發(fā)明實施例提供的所述應(yīng)用緩存的清除裝置與上文實施例中的應(yīng)用緩存的清除方法屬于同一構(gòu)思,在所述應(yīng)用緩存的清除裝置上可以運行所述應(yīng)用緩存的清除方法實施例中提供的任一方法,其具體實現(xiàn)過程詳見所述應(yīng)用緩存的清除方法實施例,此處不再贅述。

需要說明的是,對本發(fā)明實施例所述應(yīng)用緩存的清除方法而言,本領(lǐng)域普通測試人員可以理解實現(xiàn)本發(fā)明實施例所述應(yīng)用緩存的清除方法的全部或部分流程,是可以通過計算機(jī)程序來控制相關(guān)的硬件來完成,所述計算機(jī)程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,如存儲在存儲器中,并被至少一個處理器執(zhí)行,在執(zhí)行過程中可包括如所述應(yīng)用緩存的清除方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)等。

對本發(fā)明實施例的所述應(yīng)用緩存的清除裝置而言,其各功能模塊可以集成在一個處理芯片中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中,所述存儲介質(zhì)譬如為只讀存儲器,磁盤或光盤等。

以上對本發(fā)明實施例所提供的一種應(yīng)用緩存的清除方法、裝置以及計算機(jī)設(shè)備進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蒙山县| 奇台县| 大关县| 偃师市| 梁河县| 股票| 泰顺县| 合山市| 南部县| 温宿县| 岑溪市| 彭州市| 雅江县| 射洪县| 晋城| 卫辉市| 巫溪县| 紫金县| 宁强县| 丹江口市| 鄂托克旗| 丹东市| 乐平市| 蕲春县| 和静县| 安阳市| 雅安市| 美姑县| 芒康县| 桂东县| 莱州市| 北京市| 蒙城县| 梧州市| 应城市| 竹北市| 土默特右旗| 西吉县| 伊吾县| 宜昌市| 哈尔滨市|