清理移動終端中臨時文件的方法、裝置和移動終端的制作方法
【專利摘要】本發(fā)明提出一種清理移動終端中臨時文件的方法、裝置和移動終端,為提高移動終端中臨時文件的清理效率,有效提升用戶體驗(yàn)而發(fā)明。其中,清理移動終端中臨時文件的方法包括:接收輸入的清理指令;根據(jù)清理指令創(chuàng)建寫線程;以及控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。本發(fā)明可用于移動終端設(shè)備存儲空間管理技術(shù)中。
【專利說明】清理移動終端中臨時文件的方法、裝置和移動終端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動終端【技術(shù)領(lǐng)域】,尤其涉及一種清理移動終端中臨時文件的方法、裝置和移動終端。
【背景技術(shù)】
[0002]隨著電子技術(shù)的發(fā)展,移動終端變得越來越普及,移動終端中的應(yīng)用程序數(shù)量也越來越多。通常用戶在移動終端中會安裝多個應(yīng)用程序,使用不同的應(yīng)用程序?qū)崿F(xiàn)不同的目的。因此,需要移動終端的操作系統(tǒng)對應(yīng)用程序進(jìn)行有效管理。目前,最重要的管理方式之一是基于沙盤的管理方式,即每個應(yīng)用程序都有自己的沙盒,該沙盒占用移動終端的部分存儲空間以存儲應(yīng)用程序的文件、文檔、用戶數(shù)據(jù)和臨時文件等。另外,出于安全的考慮,跨應(yīng)用程序之間的沙盤通常是不可相互訪問的。
[0003]因此,基于沙盤對應(yīng)用程序進(jìn)行管理,通過應(yīng)用程序?qū)σ苿咏K端的存儲空間進(jìn)行臨時文件的清除是不允許的,只有移動終端的操作系統(tǒng)具有清除權(quán)限。只有移動終端的操作系統(tǒng)在存儲空間不足時,才會自動清除部分應(yīng)用程序沙盤中的臨時文件等以釋放存儲空間。因此,清除移動終端中已安裝應(yīng)用程序的臨時文件非常困難,造成了移動終端使用時間越長,積累的臨時文件越多,不僅占用了移動終端寶貴的存儲資源,而且也會拖慢移動終端的運(yùn)行速度。
【發(fā)明內(nèi)容】
[0004]本發(fā)明旨在至少解決上述技術(shù)問題之一。
[0005]為此,本發(fā)明的第一個目的在于提出一種清理移動終端中臨時文件的方法。該方法。
[0006]本發(fā)明的第二個目的在于提出一種清理移動終端中臨時文件的裝置。
[0007]本發(fā)明的第三個目的在于提出一種移動終端。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例的清理移動終端中臨時文件的方法,包括以下步驟:接收輸入的清理指令;根據(jù)所述清理指令創(chuàng)建寫線程;以及控制所述寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)所述移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0009]本發(fā)明實(shí)施例的清理移動終端中臨時文件的方法,通過根據(jù)清理指令創(chuàng)建寫線程在臨時文件中寫入數(shù)據(jù),有效利用操作系統(tǒng)清理機(jī)制,根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理其他應(yīng)用程序的臨時文件,從而達(dá)到釋放更多存儲空間的目的,用戶體驗(yàn)好。
[0010]為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例的清理移動終端中臨時文件的裝置,包括:清理指令接收模塊,用于接收輸入的清理指令;寫線程創(chuàng)建模塊,用于根據(jù)所述清理指令創(chuàng)建寫線程;以及控制模塊,用于控制所述寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)所述移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。[0011]本發(fā)明實(shí)施例的清理移動終端中臨時文件的裝置,根據(jù)清理指令創(chuàng)建寫線程,并通過寫線程在臨時文件中寫入數(shù)據(jù),有效利用操作系統(tǒng)清理機(jī)制,根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理其他應(yīng)用程序的臨時文件,從而達(dá)到釋放更多存儲空間的目的,用戶體驗(yàn)好。
[0012]為了實(shí)現(xiàn)上述目的,本發(fā)明第三方面實(shí)施例的移動終端,包括:外殼,屏幕,處理器,存儲器和電路板;所述屏幕安置在所述外殼上,所述電路板安置在所述外殼圍成的空間內(nèi)部,所述處理器和所述存儲器設(shè)置在所述電路板上;所述存儲器用于存儲可執(zhí)行程序代碼;所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與所述可執(zhí)行程序代碼對應(yīng)的程序,以用于:接收輸入的清理指令;根據(jù)所述清理指令創(chuàng)建寫線程;以及控制所述寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)所述移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0013]本發(fā)明實(shí)施例的移動終端,根據(jù)清理指令創(chuàng)建寫線程,并通過寫線程在臨時文件中寫入數(shù)據(jù),有效利用操作系統(tǒng)清理機(jī)制,根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理其他應(yīng)用程序的臨時文件,從而達(dá)到釋放更多存儲空間的目的,用戶體驗(yàn)好。
[0014]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說明】
[0015]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中,
[0016]圖1是根據(jù)本發(fā)明一個實(shí)施例的清理移動終端中臨時文件的方法的流程圖;
[0017]圖2是根據(jù)本發(fā)明又一個實(shí)施例的清理移動終端中臨時文件的方法的流程圖;
[0018]圖3是根據(jù)本發(fā)明一個實(shí)施例的清理移動終端中臨時文件的裝置的結(jié)構(gòu)示意圖;
[0019]圖4是根據(jù)本發(fā)明又一個實(shí)施例的清理移動終端中臨時文件的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0021]在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說明,“多個”的含義是兩個或兩個以上。
[0022]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0023]下面結(jié)合說明書附圖詳細(xì)說明本發(fā)明實(shí)施例的清理移動終端中臨時文件的方法、裝置和移動終端。
[0024]為了解決移動終端中已安裝應(yīng)用程序的臨時文件清理困難導(dǎo)致移動終端運(yùn)行緩慢的問題,本發(fā)明提出一種清理移動終端中臨時文件的方法。
[0025]圖1是根據(jù)本發(fā)明一個實(shí)施例的清理移動終端中臨時文件的方法的流程圖。如圖1所示,清理移動終端中臨時文件的方法包括以下步驟:
[0026]SlOl,接收輸入的清理指令。
[0027]其中,清理指令可以通過預(yù)設(shè)方式(例如一鍵清理等)觸發(fā),具體的可實(shí)現(xiàn)形式還有多種,在此不再一一列舉。
[0028]在本發(fā)明的一個實(shí)施例中,移動終端可以是智能手機(jī)、平板電腦、個人數(shù)字助理、電子書等具有各種操作系統(tǒng)的硬件設(shè)備。
[0029]S102,根據(jù)清理指令創(chuàng)建寫線程。
[0030]具體地,線程是程序中一個單一的順序控制流程,可通過進(jìn)程進(jìn)行管理,其中,正在計(jì)算機(jī)中執(zhí)行的程序叫做“進(jìn)程”。在本發(fā)明的實(shí)施例中,根據(jù)清理指令創(chuàng)建的寫線程是創(chuàng)建的執(zhí)行寫入磁盤操作的線程。
[0031]其中,寫線程可以包括一個或多個。具體地,接收到清理指令后可采用單線程(即單個寫進(jìn)程)或多線程(即多個寫進(jìn)程)的方式在目標(biāo)文件夾下寫入數(shù)據(jù),從而對存儲空間進(jìn)行數(shù)據(jù)填充,具體將在后續(xù)實(shí)施例中詳細(xì)敘述。
[0032]S103,控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0033]其中,預(yù)設(shè)的緩存釋放規(guī)則包括釋放預(yù)設(shè)數(shù)量的、且由后臺運(yùn)行程序所占用的存儲空間。具體地,可通過控制寫線程不斷寫入數(shù)據(jù)占用存儲空間,以觸發(fā)操作系統(tǒng)中的預(yù)設(shè)緩存釋放規(guī)則,從而清理存儲空間中的至少一個第二預(yù)設(shè)文件目錄下的臨時文件,至少一個第二預(yù)設(shè)文件為除第一預(yù)設(shè)文件之外的其他應(yīng)用程序?qū)?yīng)的文件目錄。
[0034]在本發(fā)明的一個實(shí)施例中,本清理過程可通過用于清理臨時文件的應(yīng)用程序來實(shí)現(xiàn),以ios操作系統(tǒng)(iOS是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng))為例,根據(jù)iOS操作系統(tǒng)的原理,任何在應(yīng)用程序中產(chǎn)生的臨時文件都會存放在各應(yīng)用程序自身的library/caches或tmp文件夾(用于存放臨時文件,在不同的操作系統(tǒng)中可以有不同的命名)下,操作系統(tǒng)根據(jù)library/caches或tmp文件夾中寫入數(shù)據(jù)的大小分配存儲空間,該段存儲空間將被應(yīng)用程序占用直到應(yīng)用程序被手動釋放或強(qiáng)行釋放為止。當(dāng)由于可用存儲空間不足導(dǎo)致向應(yīng)用程序?qū)?yīng)的library/caches或tmp文件夾中寫入數(shù)據(jù)失敗時,根據(jù)iOS操作系統(tǒng)的原理,操作系統(tǒng)將清理至少一個其他應(yīng)用程序?qū)?yīng)的library/caches或tmp文件夾中的數(shù)據(jù),從而釋放更多可用存儲空間。
[0035]例如,用于清理臨時文件的應(yīng)用程序?qū)?yīng)第一預(yù)設(shè)文件目錄,其他需要清理的至少一個第二預(yù)設(shè)文件目錄可以是其他應(yīng)用程序的文件目錄,通過控制用于清理臨時文件的應(yīng)用程序向第一預(yù)設(shè)文件目錄中寫入數(shù)據(jù),以釋放至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0036]本發(fā)明實(shí)施例的清理移動終端中臨時文件的方法,根據(jù)清理指令創(chuàng)建寫線程,并通過寫線程在臨時文件中寫入數(shù)據(jù),有效利用操作系統(tǒng)清理機(jī)制,根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理其他應(yīng)用程序的臨時文件,從而達(dá)到釋放更多存儲空間的目的,用戶體驗(yàn)好。
[0037]圖2是根據(jù)本發(fā)明又一個實(shí)施例的清理移動終端中臨時文件的方法的流程圖。為了達(dá)到更好的清理效果,可使用多線程多次在自身應(yīng)用程序的臨時文件夾下寫入數(shù)據(jù)直到存儲空間不足,以觸發(fā)操作系統(tǒng)的緩存釋放規(guī)則,再釋放寫入的數(shù)據(jù)。具體地,如圖2所示,清理移動終端中臨時文件的方法包括以下步驟:
[0038]S201,接收輸入的清理指令。
[0039]其中,清理指令可以通過預(yù)設(shè)方式(例如一鍵清理等)觸發(fā),具體的可實(shí)現(xiàn)形式還有多種,在此不再一一列舉。
[0040]在本發(fā)明的一個實(shí)施例中,移動終端可以是智能手機(jī)、平板電腦、個人數(shù)字助理、電子書等具有各種操作系統(tǒng)的硬件設(shè)備。
[0041]S202,根據(jù)清理指令創(chuàng)建多個寫線程。
[0042]具體地,在接收到清理指令后,可根據(jù)清理指令創(chuàng)建多個寫線程,以提高向應(yīng)用程序的臨時文件中寫入數(shù)據(jù)的效率。
[0043]在本發(fā)明的實(shí)施例中,移動終端應(yīng)用程序?yàn)榭捎糜诖鎯臻g檢測和清理的應(yīng)用程序,例如移動終端臨時文件清理器、手機(jī)管家等,也可為其他具有存儲空間檢測和清理功能的應(yīng)用程序。
[0044]S203,獲取移動終端中存儲空間的剩余量,并根據(jù)在第一預(yù)設(shè)文件目錄下寫入的數(shù)據(jù)的大小獲取清理的存儲空間大小。
[0045]具體地,移動終端應(yīng)用程序可通過操作系統(tǒng)提供的接口或特定檢測模塊獲取到當(dāng)前移動終端中存儲空間的剩余量。在本發(fā)明的實(shí)施例中,在第一預(yù)設(shè)文件目錄下寫入的數(shù)據(jù)的大小與當(dāng)前移動終端中存儲空間的剩余量的差應(yīng)不大于操作系統(tǒng)預(yù)設(shè)的最低存儲空間剩余量,從而能夠在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的數(shù)據(jù)后,觸發(fā)操作系統(tǒng)的緩存釋放規(guī)則,達(dá)到清理其他應(yīng)用程序?qū)?yīng)的臨時文件的目的。
[0046]S204,根據(jù)存儲空間的剩余量分別為多個寫線程分配寫入任務(wù)。
[0047]具體地,根據(jù)可用存儲空間的剩余量,將剩余存儲空間按照多線程的數(shù)量進(jìn)行任務(wù)劃分,通過操作系統(tǒng)提供的相應(yīng)接口,多個線程同時向任務(wù)對應(yīng)的臨時文件中寫入數(shù)據(jù)。
[0048]S205,控制寫線程持續(xù)地在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件或內(nèi)存數(shù)據(jù)直至移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止,以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0049]具體地,根據(jù)當(dāng)前存儲空間剩余量,判定當(dāng)前存儲空間剩余量是否小于預(yù)設(shè)閾值。其中,預(yù)設(shè)閾值可以為應(yīng)用程序可用緩存所占總緩存的預(yù)設(shè)比例,根據(jù)移動終端具體的運(yùn)行情況設(shè)定。預(yù)設(shè)的緩存釋放規(guī)則包括操作系統(tǒng)釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行程序所占用的存儲空間。在移動終端的運(yùn)行中,每當(dāng)滿足緩存釋放規(guī)則,操作系統(tǒng)就會釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行的應(yīng)用程序所占用的存儲空間。例如存儲空間使用量大于某一預(yù)設(shè)閾值(如90%)時,移動終端中產(chǎn)生告警并自動清理一定量的臨時文件。應(yīng)當(dāng)理解,移動終端會優(yōu)先處理當(dāng)前沒有被調(diào)用的應(yīng)用程序?qū)?yīng)的臨時文件。[0050]需要注意的是,為了觸發(fā)操作系統(tǒng)中預(yù)設(shè)的緩存釋放規(guī)則,需要根據(jù)當(dāng)前可用存儲空間,來設(shè)定寫線程在第一預(yù)設(shè)文件目錄下寫入的預(yù)置文件或內(nèi)存數(shù)據(jù)的大小,以保證移動終端的存儲空間達(dá)到緩存釋放規(guī)則中的預(yù)設(shè)閾值,從而觸發(fā)操作系統(tǒng)清理臨時文件。
[0051]在本發(fā)明的實(shí)施例中,以iOS系統(tǒng)為例,寫入數(shù)據(jù)方面,可采用但不局限于以下兩種方式:
[0052]第一種是使用C語言文件系統(tǒng)接口,直接將緩存中的數(shù)據(jù)寫入文件系統(tǒng)。通常,每次寫入的數(shù)據(jù)大小是4KB為最佳,寫入的數(shù)據(jù)過大或過小都會減緩寫入速度;主要利用的C語言接口為fopen (打開一個文件)、fwrite (向文件中寫入數(shù)據(jù)塊)和fclose (關(guān)閉一個流),可最大限度地減少寫入數(shù)據(jù)的過程中可能產(chǎn)生的程序運(yùn)行代價。多次實(shí)驗(yàn)的統(tǒng)計(jì)結(jié)果表明,采用本方式寫入數(shù)據(jù)的速度約為36MB/S,即填充IOGB大小的剩余空間約需284秒。
[0053]第二種是使用Objective-C語言(擴(kuò)充C語言的面向?qū)ο蟮木幊陶Z言)的文件系統(tǒng)接口,將預(yù)置的數(shù)據(jù)文件多次拷貝。預(yù)置數(shù)據(jù)文件大小為4MB,直接調(diào)用NSFiIeManager(其中包含了用來查詢單詞庫目錄、創(chuàng)建、重命名、刪除目錄以及獲取/設(shè)置文件屬性的方法)中的copyltemAtPath: toPath: error:接口( iOS操作系統(tǒng)中的應(yīng)用程序編程接口,用于將一個文件同步復(fù)制到一個新路徑下),將數(shù)據(jù)文件進(jìn)行多次拷貝,直到拷貝失敗,即已填充滿任務(wù)空間。經(jīng)實(shí)驗(yàn),采用本方式寫入數(shù)據(jù)的速度約為28MB/S,即填充10GB大小的剩余空間約需要365秒。
[0054]基于以上數(shù)據(jù)結(jié)果的對比,實(shí)際應(yīng)用中更傾向于使用C語言文件系統(tǒng)接口的方式,從而更快地完成清理任務(wù),相對于第二種實(shí)現(xiàn)方式,性能可提升22%。
[0055]S206,當(dāng)接收到寫線程的寫入失敗消息時,清理第一預(yù)設(shè)目錄文件下寫入的數(shù)據(jù)。
[0056]具體地,寫線程在第一預(yù)設(shè)目錄文件下寫入的數(shù)據(jù)不斷占用操作系統(tǒng)的存儲空間,最終操作系統(tǒng)將會返回兩種結(jié)果:一種是在緩存釋放規(guī)則未被觸發(fā)時,返回寫入數(shù)據(jù)成功的信號;另一種是在操作系統(tǒng)存儲空間不足以致緩存釋放規(guī)則被觸發(fā)后,返回寫入數(shù)據(jù)失敗的信號,接收到失敗信號的寫線程即停止運(yùn)行。
[0057]在本發(fā)明的一個實(shí)施例中,當(dāng)所有運(yùn)行中的寫線程都結(jié)束任務(wù)后,應(yīng)用程序?qū)h除第一預(yù)設(shè)目錄文件下寫線程已寫入的所有臨時文件,再計(jì)算新的剩余存儲空間,與之清理前的數(shù)值對比,得出此次清理的結(jié)果。
[0058]本發(fā)明實(shí)施例的清理移動終端中臨時文件的方法,通過創(chuàng)建多個寫線程提高數(shù)據(jù)寫入速度,在臨時文件中持續(xù)寫入數(shù)據(jù)觸發(fā)緩存釋放規(guī)則,從而清理其他應(yīng)用程序?qū)?yīng)的臨時文件,然后刪除之前寫入的數(shù)據(jù),清理應(yīng)用程序自身的臨時文件,進(jìn)一步釋放存儲空間,合理利用了操作系統(tǒng)規(guī)則,提高了應(yīng)用程序臨時文件的清理效率,操作簡便,改善了移動終端運(yùn)行流暢度,提升了用戶體驗(yàn)。
[0059]為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明的實(shí)施例還提出一種清理移動終端中臨時文件的裝置。
[0060]圖3是根據(jù)本發(fā)明一個實(shí)施例的清理移動終端中臨時文件的裝置的結(jié)構(gòu)示意圖。
[0061]如圖3所示,清理移動終端中臨時文件的裝置包括:清理指令接收模塊100、寫線程創(chuàng)建模塊200和控制模塊300。其中,本發(fā)明實(shí)施例的移動終端可以是智能手機(jī)、平板電腦、個人數(shù)字助理、電子書等具有各種操作系統(tǒng)的硬件設(shè)備。
[0062]具體地,清理指令接收模塊100用于接收輸入的清理指令。其中,清理指令可以通過預(yù)設(shè)方式(例如一鍵清理等)觸發(fā),具體的可實(shí)現(xiàn)形式還有多種,在此不再一一列舉。
[0063]寫線程創(chuàng)建模塊200用于根據(jù)清理指令創(chuàng)建寫線程。其中,線程是程序中一個單一的順序控制流程,可通過進(jìn)程進(jìn)行管理,其中,正在計(jì)算機(jī)中執(zhí)行的程序叫做“進(jìn)程”。在本發(fā)明的實(shí)施例中,根據(jù)清理指令創(chuàng)建的寫線程是創(chuàng)建的執(zhí)行寫入磁盤操作的線程。更具體地,寫線程可以包括一個或多個,清理指令接收模塊100接收到清理指令后,寫線程創(chuàng)建模塊200創(chuàng)建寫線程,并可采用單線程(即單個寫進(jìn)程)或多線程(即多個寫進(jìn)程)的方式在目標(biāo)文件夾(即后續(xù)實(shí)施例中提到的第一預(yù)設(shè)文件目錄)下寫入數(shù)據(jù),從而對存儲空間進(jìn)行數(shù)據(jù)填充。
[0064]控制模塊300用于控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。其中,預(yù)設(shè)的緩存釋放規(guī)則包括釋放預(yù)設(shè)數(shù)量的、且由后臺運(yùn)行程序所占用的存儲空間。更具體地,控制模塊300可通過控制寫線程不斷寫入數(shù)據(jù)占用存儲空間,以觸發(fā)操作系統(tǒng)中的預(yù)設(shè)緩存釋放規(guī)則,從而清理存儲空間中的至少一個第二預(yù)設(shè)文件目錄下的臨時文件,至少一個第二預(yù)設(shè)文件為除第一預(yù)設(shè)文件之外的其他應(yīng)用程序?qū)?yīng)的文件目錄。
[0065]在本發(fā)明的一個實(shí)施例中,本清理過程可通過用于清理臨時文件的應(yīng)用程序來實(shí)現(xiàn),以ios操作系統(tǒng)(iOS是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng))為例,根據(jù)iOS操作系統(tǒng)的原理,任何在應(yīng)用程序中產(chǎn)生的臨時文件都會存放在各應(yīng)用程序自身的library/caches或tmp文件夾(用于存放臨時文件,在不同的操作系統(tǒng)中可以有不同的命名)下,操作系統(tǒng)根據(jù)library/caches或tmp文件夾中寫入數(shù)據(jù)的大小分配存儲空間,該段存儲空間將被應(yīng)用程序占用直到應(yīng)用程序被手動釋放或強(qiáng)行釋放為止。當(dāng)由于可用存儲空間不足導(dǎo)致向應(yīng)用程序?qū)?yīng)的library/caches或tmp文件夾中寫入數(shù)據(jù)失敗時,根據(jù)iOS操作系統(tǒng)的原理,操作系統(tǒng)將清理至少一個其他應(yīng)用程序?qū)?yīng)的library/caches或tmp文件夾中的數(shù)據(jù),從而釋放更多可用存儲空間。
[0066]例如,用于清理臨時文件的應(yīng)用程序?qū)?yīng)第一預(yù)設(shè)文件目錄,其他需要清理的至少一個第二預(yù)設(shè)文件目錄可以是其他應(yīng)用程序的文件目錄,通過控制用于清理臨時文件的應(yīng)用程序向第一預(yù)設(shè)文件目錄中寫入數(shù)據(jù),以釋放至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0067]本發(fā)明實(shí)施例的清理移動終端中臨時文件的裝置,根據(jù)清理指令創(chuàng)建寫線程,并通過寫線程在臨時文件中寫入數(shù)據(jù),有效利用操作系統(tǒng)清理機(jī)制,根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理其他應(yīng)用程序的臨時文件,從而達(dá)到釋放更多存儲空間的目的,用戶體驗(yàn)好。
[0068]圖4是根據(jù)本發(fā)明又一個實(shí)施例的清理移動終端中臨時文件的方法的流程圖。
[0069]如圖4所示,在圖3的基礎(chǔ)上,清理移動終端中臨時文件的裝置還包括:清理模塊400、存儲空間獲取模塊500和任務(wù)分配模塊600。
[0070]清理模塊400用于當(dāng)接收到寫線程的寫入失敗消息時,清理第一預(yù)設(shè)目錄文件下寫入的數(shù)據(jù)。更具體地,寫線程在第一預(yù)設(shè)目錄文件下寫入的數(shù)據(jù)不斷占用操作系統(tǒng)的存儲空間,最終操作系統(tǒng)將會返回兩種結(jié)果:一種是在緩存釋放規(guī)則未被觸發(fā)時,返回寫入數(shù)據(jù)成功的信號;另一種是在操作系統(tǒng)存儲空間不足以致緩存釋放規(guī)則被觸發(fā)后,返回寫入數(shù)據(jù)失敗的信號,接收到失敗信號的寫線程即停止運(yùn)行。在本發(fā)明的一個實(shí)施例中,當(dāng)所有運(yùn)行中的寫線程都結(jié)束任務(wù)后,清理模塊400將刪除第一預(yù)設(shè)目錄文件下寫線程已寫入的所有臨時文件,再計(jì)算新的剩余存儲空間,與之清理前的數(shù)值對比,得出此次清理的結(jié)果。
[0071]控制模塊300還用于控制寫線程持續(xù)地在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件直至移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止;或控制寫線程持續(xù)地向第一預(yù)設(shè)文件目錄中寫入預(yù)設(shè)大小的內(nèi)存數(shù)據(jù)直至移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止。更具體地,控制模塊300控制寫線程持續(xù)地在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件或內(nèi)存數(shù)據(jù)直至移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止,以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0072]更具體地,控制模塊300可根據(jù)當(dāng)前存儲空間剩余量,判定當(dāng)前存儲空間剩余量是否小于預(yù)設(shè)閾值。其中,預(yù)設(shè)閾值可以為應(yīng)用程序可用緩存所占總緩存的預(yù)設(shè)比例,根據(jù)移動終端具體的運(yùn)行情況設(shè)定。預(yù)設(shè)的緩存釋放規(guī)則包括操作系統(tǒng)釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行程序所占用的存儲空間。在移動終端的運(yùn)行中,每當(dāng)滿足緩存釋放規(guī)則,操作系統(tǒng)就會釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行的應(yīng)用程序所占用的存儲空間。例如存儲空間使用量大于某一預(yù)設(shè)閾值(如90%)時,移動終端中產(chǎn)生告警并自動清理一定量的臨時文件。應(yīng)當(dāng)理解,移動終端會優(yōu)先處理當(dāng)前沒有被調(diào)用的應(yīng)用程序?qū)?yīng)的臨時文件。
[0073]需要注意的是,為了觸發(fā)操作系統(tǒng)中預(yù)設(shè)的緩存釋放規(guī)則,需要根據(jù)當(dāng)前可用存儲空間,來設(shè)定寫線程在第一預(yù)設(shè)文件目錄下寫入的預(yù)置文件或內(nèi)存數(shù)據(jù)的大小,以保證移動終端的存儲空間達(dá)到緩存釋放規(guī)則中的預(yù)設(shè)閾值,從而觸發(fā)操作系統(tǒng)清理臨時文件。
[0074]在本發(fā)明的實(shí)施例中,以iOS系統(tǒng)為例,寫入數(shù)據(jù)方面,可采用但不局限于以下兩種方式:
[0075]第一種是使用C語言文件系統(tǒng)接口,直接將緩存中的數(shù)據(jù)寫入文件系統(tǒng)。通常,每次寫入的數(shù)據(jù)大小是4KB為最佳,寫入的數(shù)據(jù)過大或過小都會減緩寫入速度;主要利用的C語言接口為fopen (打開一個文件)、fwrite (向文件中寫入數(shù)據(jù)塊)和fclose (關(guān)閉一個流),可最大限度地減少寫入數(shù)據(jù)的過程中可能產(chǎn)生的程序運(yùn)行代價。多次實(shí)驗(yàn)的統(tǒng)計(jì)結(jié)果表明,采用本方式寫入數(shù)據(jù)的速度約為36MB/S,即填充IOGB大小的剩余空間約需284秒。
[0076]第二種是使用Objective-C語言(擴(kuò)充C語言的面向?qū)ο蟮木幊陶Z言)的文件系統(tǒng)接口,將預(yù)置的數(shù)據(jù)文件多次拷貝。預(yù)置數(shù)據(jù)文件大小為4MB,直接調(diào)用NSFiIeManager(其中包含了用來查詢單詞庫目錄、創(chuàng)建、重命名、刪除目錄以及獲取/設(shè)置文件屬性的方法)中的copyltemAtPath:toPath:error:方法,將數(shù)據(jù)文件進(jìn)行多次拷貝,直到拷貝失敗,即已填充滿任務(wù)空間。經(jīng)實(shí)驗(yàn),采用本方式寫入數(shù)據(jù)的速度約為28MB/S,即填充10GB大小的剩余空間約需要365秒。
[0077]基于以上數(shù)據(jù)結(jié)果的對比,實(shí)際應(yīng)用中更傾向于使用C語言文件系統(tǒng)接口的方式,從而更快地完成清理任務(wù),相對于第二種實(shí)現(xiàn)方式,性能可提升22%。
[0078]存儲空間獲取模塊500用于在控制模塊控制寫線程持續(xù)地向第一預(yù)設(shè)文件目錄中寫入數(shù)據(jù)之前獲取移動終端中存儲空間的剩余量,并根據(jù)在第一預(yù)設(shè)文件目錄下寫入的數(shù)據(jù)的大小獲取清理的存儲空間大小。更具體地,存儲空間獲取模塊500可獲取到當(dāng)前移動終端中存儲空間的剩余量。在本發(fā)明的實(shí)施例中,在第一預(yù)設(shè)文件目錄下寫入的數(shù)據(jù)的大小與當(dāng)前移動終端中存儲空間的剩余量的差應(yīng)不大于操作系統(tǒng)預(yù)設(shè)的最低存儲空間剩余量,從而能夠在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的數(shù)據(jù)后,觸發(fā)操作系統(tǒng)的緩存釋放規(guī)則,達(dá)到清理其他應(yīng)用程序?qū)?yīng)的臨時文件的目的。[0079]任務(wù)分配模塊600用于在控制模塊控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù)之前,根據(jù)存儲空間的剩余量分別為多個寫線程分配寫入任務(wù)。更具體地,任務(wù)分配模塊600根據(jù)可用存儲空間的剩余量,將剩余存儲空間按照多線程的數(shù)量進(jìn)行任務(wù)劃分,通過操作系統(tǒng)提供的相應(yīng)接口,多個線程同時向任務(wù)對應(yīng)的臨時文件中寫入數(shù)據(jù)。
[0080]本發(fā)明實(shí)施例的清理移動終端中臨時文件的裝置,通過創(chuàng)建多個寫線程提高數(shù)據(jù)寫入速度,在臨時文件中持續(xù)寫入數(shù)據(jù)觸發(fā)緩存釋放規(guī)則,從而清理其他應(yīng)用程序?qū)?yīng)的臨時文件,然后刪除之前寫入的數(shù)據(jù),清理應(yīng)用程序自身的臨時文件,進(jìn)一步釋放存儲空間,合理利用了操作系統(tǒng)規(guī)則,提高了應(yīng)用程序臨時文件的清理效率,操作簡便,改善了移動終端運(yùn)行流暢度,提升了用戶體驗(yàn)。
[0081 ] 為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明的實(shí)施例還提出一種移動終端。
[0082]在本發(fā)明的一個實(shí)施例中,移動終端包括:外殼,屏幕,處理器,存儲器和電路板;屏幕安置在外殼上,電路板安置在外殼圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
[0083]S101’,接收輸入的清理指令。
[0084]其中,清理指令可以通過預(yù)設(shè)方式(例如一鍵清理等)觸發(fā),具體的可實(shí)現(xiàn)形式還有多種,在此不再一一列舉。
[0085]在本發(fā)明的一個實(shí)施例中,移動終端可以是智能手機(jī)、平板電腦、個人數(shù)字助理、電子書等具有各種操作系統(tǒng)的硬件設(shè)備。
[0086]S102’根據(jù)清理指令創(chuàng)建寫線程。
[0087]具體地,線程是程序中一個單一的順序控制流程,可通過進(jìn)程進(jìn)行管理,其中,正在計(jì)算機(jī)中執(zhí)行的程序叫做“進(jìn)程”。在本發(fā)明的實(shí)施例中,根據(jù)清理指令創(chuàng)建的寫線程是創(chuàng)建的執(zhí)行寫入磁盤操作的線程。
[0088]其中,寫線程可以包括一個或多個。具體地,處理器接收到清理指令后可采用單線程(即單個寫進(jìn)程)或多線程(即多個寫進(jìn)程)的方式在目標(biāo)文件夾(即后續(xù)實(shí)施例中提到的第一預(yù)設(shè)文件目錄)下寫入數(shù)據(jù),從而對存儲空間進(jìn)行數(shù)據(jù)填充,具體將在后續(xù)實(shí)施例中詳細(xì)敘述。
[0089]S103’控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0090]其中,預(yù)設(shè)的緩存釋放規(guī)則包括釋放預(yù)設(shè)數(shù)量的、且由后臺運(yùn)行程序所占用的存儲空間。具體地,處理器可通過控制寫線程不斷寫入數(shù)據(jù)占用存儲空間,以觸發(fā)操作系統(tǒng)中的預(yù)設(shè)緩存釋放規(guī)則,從而清理存儲空間中的至少一個第二預(yù)設(shè)文件目錄下的臨時文件,至少一個第二預(yù)設(shè)文件為除第一預(yù)設(shè)文件之外的其他應(yīng)用程序?qū)?yīng)的文件目錄。
[0091]在本發(fā)明的一個實(shí)施例中,本清理過程可通過用于清理臨時文件的應(yīng)用程序來實(shí)現(xiàn),以ios操作系統(tǒng)(iOS是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng))為例,根據(jù)iOS操作系統(tǒng)的原理,任何在應(yīng)用程序中產(chǎn)生的臨時文件都會存放在各應(yīng)用程序自身的library/caches或tmp文件夾(用于存放臨時文件,在不同的操作系統(tǒng)中可以有不同的命名)下,操作系統(tǒng)根據(jù)library/caches或tmp文件夾中寫入數(shù)據(jù)的大小分配存儲空間,該段存儲空間將被應(yīng)用程序占用直到應(yīng)用程序被手動釋放或強(qiáng)行釋放為止。當(dāng)由于可用存儲空間不足導(dǎo)致向應(yīng)用程序?qū)?yīng)的library/caches或tmp文件夾中寫入數(shù)據(jù)失敗時,根據(jù)iOS操作系統(tǒng)的原理,操作系統(tǒng)將清理至少一個其他應(yīng)用程序?qū)?yīng)的library/caches或tmp文件夾中的數(shù)據(jù),從而釋放更多可用存儲空間。
[0092]例如,用于清理臨時文件的應(yīng)用程序?qū)?yīng)第一預(yù)設(shè)文件目錄,其他需要清理的至少一個第二預(yù)設(shè)文件目錄可以是其他應(yīng)用程序的文件目錄,通過控制用于清理臨時文件的應(yīng)用程序向第一預(yù)設(shè)文件目錄中寫入數(shù)據(jù),以釋放至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0093]本發(fā)明實(shí)施例的移動終端,可根據(jù)清理指令創(chuàng)建寫線程,并通過寫線程在臨時文件中寫入數(shù)據(jù),有效利用操作系統(tǒng)清理機(jī)制,根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理其他應(yīng)用程序的臨時文件,從而達(dá)到釋放更多存儲空間的目的,用戶體驗(yàn)好。
[0094]在本發(fā)明的另一個實(shí)施例中,處理器還用于執(zhí)行以下步驟:
[0095]S201’,接收輸入的清理指令。
[0096]S202’,根據(jù)清理指令創(chuàng)建多個寫線程。
[0097]具體地,在接收到清理指令后,可根據(jù)清理指令創(chuàng)建多個寫線程,以提高向應(yīng)用程序的臨時文件中寫入數(shù)據(jù)的效率。
[0098]在本發(fā)明的實(shí)施例中,移動終端應(yīng)用程序?yàn)榭捎糜诖鎯臻g檢測和清理的應(yīng)用程序,例如移動終端臨時文件清理器、手機(jī)管家等,也可為其他具有存儲空間檢測和清理功能的應(yīng)用程序。
[0099]S203’,獲取移動終端中存儲空間的剩余量,并根據(jù)在第一預(yù)設(shè)文件目錄下寫入的數(shù)據(jù)的大小獲取清理的存儲空間大小。
[0100]具體地,處理器可獲取到當(dāng)前移動終端中存儲空間的剩余量。在本發(fā)明的實(shí)施例中,在第一預(yù)設(shè)文件目錄下寫入的數(shù)據(jù)的大小與當(dāng)前移動終端中存儲空間的剩余量的差應(yīng)不大于操作系統(tǒng)預(yù)設(shè)的最低存儲空間剩余量,從而能夠在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的數(shù)據(jù)后,觸發(fā)操作系統(tǒng)的緩存釋放規(guī)則,達(dá)到清理其他應(yīng)用程序?qū)?yīng)的臨時文件的目的。
[0101]S204’,根據(jù)存儲空間的剩余量分別為多個寫線程分配寫入任務(wù)。
[0102]具體地,根據(jù)可用存儲空間的剩余量,處理器將剩余存儲空間按照多線程的數(shù)量進(jìn)行任務(wù)劃分,通過操作系統(tǒng)提供的相應(yīng)接口,多個線程同時向任務(wù)對應(yīng)的臨時文件中寫入數(shù)據(jù)。
[0103]S205’,控制寫線程持續(xù)地在第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件或內(nèi)存數(shù)據(jù)直至移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止,以觸發(fā)移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
[0104]具體地,處理器根據(jù)當(dāng)前存儲空間剩余量,首先判定當(dāng)前存儲空間剩余量是否小于預(yù)設(shè)閾值。其中,預(yù)設(shè)閾值可以為應(yīng)用程序可用緩存所占總緩存的預(yù)設(shè)比例,根據(jù)移動終端具體的運(yùn)行情況設(shè)定。預(yù)設(shè)的緩存釋放規(guī)則包括操作系統(tǒng)釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行程序所占用的存儲空間。在移動終端的運(yùn)行中,每當(dāng)滿足緩存釋放規(guī)則,操作系統(tǒng)就會釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行的應(yīng)用程序所占用的存儲空間。例如存儲空間使用量大于某一預(yù)設(shè)閾值(如90%)時,移動終端中產(chǎn)生告警并自動清理一定量的臨時文件。應(yīng)當(dāng)理解,處理器會優(yōu)先處理當(dāng)前沒有被調(diào)用的應(yīng)用程序?qū)?yīng)的臨時文件。[0105]需要注意的是,為了觸發(fā)操作系統(tǒng)中預(yù)設(shè)的緩存釋放規(guī)則,需要根據(jù)當(dāng)前可用存儲空間,來設(shè)定寫線程在第一預(yù)設(shè)文件目錄下寫入的預(yù)置文件或內(nèi)存數(shù)據(jù)的大小,以保證移動終端的存儲空間達(dá)到緩存釋放規(guī)則中的預(yù)設(shè)閾值,從而觸發(fā)操作系統(tǒng)清理臨時文件。
[0106]S206’,當(dāng)接收到寫線程的寫入失敗消息時,清理第一預(yù)設(shè)目錄文件下寫入的數(shù)據(jù)。
[0107]具體地,寫線程在第一預(yù)設(shè)目錄文件下寫入的數(shù)據(jù)不斷占用操作系統(tǒng)的存儲空間,最終操作系統(tǒng)將會返回兩種結(jié)果:一種是在緩存釋放規(guī)則未被觸發(fā)時,返回寫入數(shù)據(jù)成功的信號;另一種是在操作系統(tǒng)存儲空間不足以致緩存釋放規(guī)則被觸發(fā)后,返回寫入數(shù)據(jù)失敗的信號,接收到失敗信號的寫線程即停止運(yùn)行。
[0108]在本發(fā)明的一個實(shí)施例中,當(dāng)所有運(yùn)行中的寫線程都結(jié)束任務(wù)后,處理器將刪除第一預(yù)設(shè)目錄文件下寫線程已寫入的所有臨時文件,再計(jì)算新的剩余存儲空間,與之清理前的數(shù)值對比,得出此次清理的結(jié)果。
[0109]本發(fā)明實(shí)施例的移動終端,通過創(chuàng)建多個寫線程提高數(shù)據(jù)寫入速度,在臨時文件中持續(xù)寫入數(shù)據(jù)觸發(fā)緩存釋放規(guī)則,從而清理其他應(yīng)用程序?qū)?yīng)的臨時文件,然后刪除之前寫入的數(shù)據(jù),清理應(yīng)用程序自身的臨時文件,進(jìn)一步釋放存儲空間,合理利用了操作系統(tǒng)規(guī)則,提高了應(yīng)用程序臨時文件的清理效率,操作簡便,改善了移動終端運(yùn)行流暢度,提升了用戶體驗(yàn)。
[0110]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0111]在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。
[0112]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
【權(quán)利要求】
1.一種清理移動終端中臨時文件的方法,其特征在于,包括以下步驟: 接收輸入的清理指令; 根據(jù)所述清理指令創(chuàng)建寫線程;以及 控制所述寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)所述移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
2.根據(jù)權(quán)利要求1所述的清理移動終端中臨時文件的方法,其特征在于,還包括: 當(dāng)接收到所述寫線程的寫入失敗消息時,清理所述第一預(yù)設(shè)目錄文件下所述寫入的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的清理移動終端中臨時文件的方法,其特征在于,所述預(yù)設(shè)的緩存釋放規(guī)則包括釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行程序所占用的存儲空間。
4.根據(jù)權(quán)利要求1或2所述的清理移動終端中臨時文件的方法,其特征在于,所述控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù)具體包括: 控制所述寫線程持續(xù)地在所述第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件直至所述移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止;或 控制所述寫線程持續(xù)地向所述第一預(yù)設(shè)文件目錄中寫入預(yù)設(shè)大小的內(nèi)存數(shù)據(jù)直至所述移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止。
5.根據(jù)權(quán)利要求2所述的清理移動終端中臨時文件的方法,其特征在于,在所述控制寫線程持續(xù)地向第一預(yù)設(shè)文件`目錄中寫入數(shù)據(jù)之前,還包括: 獲取所述移動終端中存儲空間的剩余量,并根據(jù)在所述第一預(yù)設(shè)文件目錄下寫入的所述數(shù)據(jù)的大小獲取清理的所述存儲空間大小。
6.根據(jù)權(quán)利要求1或2所述的清理移動終端中臨時文件的方法,其特征在于,所述寫線程包括多個,在所述控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù)之前,還包括: 根據(jù)所述存儲空間的剩余量分別為所述多個寫線程分配寫入任務(wù)。
7.—種清理移動終端中臨時文件的裝置,其特征在于,包括: 清理指令接收模塊,用于接收輸入的清理指令; 寫線程創(chuàng)建模塊,用于根據(jù)所述清理指令創(chuàng)建寫線程;以及 控制模塊,用于控制所述寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)所述移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
8.根據(jù)權(quán)利要求7所述的清理移動終端中臨時文件的裝置,其特征在于,還包括: 清理模塊,用于當(dāng)接收到所述寫線程的寫入失敗消息時,清理所述第一預(yù)設(shè)目錄文件下所述寫入的數(shù)據(jù)。
9.根據(jù)權(quán)利要求7或8所述的清理移動終端中臨時文件的裝置,其特征在于,所述預(yù)設(shè)的緩存釋放規(guī)則包括釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行程序所占用的存儲空間。
10.根據(jù)權(quán)利要求7或8所述的清理移動終端中臨時文件的裝置,其特征在于,所述控制模塊還用于:控制所述寫線程持續(xù)地在所述第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件直至所述移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止;或控制所述寫線程持續(xù)地向所述第一預(yù)設(shè)文件目錄中寫入預(yù)設(shè)大小的內(nèi)存數(shù)據(jù)直至所述移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止。
11.根據(jù)權(quán)利要求8所述的清理移動終端中臨時文件的裝置,還包括:存儲空間獲取模塊,用于在所述控制模塊控制寫線程持續(xù)地向第一預(yù)設(shè)文件目錄中寫入數(shù)據(jù)之前獲取所述移動終端中存儲空間的剩余量,并根據(jù)在所述第一預(yù)設(shè)文件目錄下寫入的所述數(shù)據(jù)的大小獲取清理的所述存儲空間大小。
12.根據(jù)權(quán)利要求7或8所述的清理移動終端中臨時文件的裝置,其特征在于,所述寫線程包括多個,所述裝置還包括: 任務(wù)分配模塊,用于在所述控制模塊控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù)之前,根據(jù)所述存儲空間的剩余量分別為所述多個寫線程分配寫入任務(wù)。
13.—種移動終端,其特征在于,包括:外殼,屏幕,處理器,存儲器和電路板; 所述屏幕安置在所述外殼上,所述電路板安置在所述外殼圍成的空間內(nèi)部,所述處理器和所述存儲器設(shè)置在所述電路板上; 所述存儲器用于存儲可執(zhí)行程序代碼; 所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運(yùn)行與所述可執(zhí)行程序代碼對應(yīng)的程序,以用于: 接收輸入的清理指令; 根據(jù)所述清理指令創(chuàng)建寫線程;以及 控制所述寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù),以觸發(fā)所述移動終端的操作系統(tǒng)根據(jù)預(yù)設(shè)的緩存釋放規(guī)則清理至少一個第二預(yù)設(shè)文件目錄下的臨時文件。
14.根據(jù)權(quán)利要求13所述的移動終端,其特征在于,所述處理器還用于: 當(dāng)接收到所述寫線程的寫入失敗消息時,清理所述第一預(yù)設(shè)目錄文件下所述寫入的數(shù)據(jù)。
15.根據(jù)權(quán)利要求13或14所述的移動終端,其特征在于,所述預(yù)設(shè)的緩存釋放規(guī)則包括釋放預(yù)設(shè)數(shù)量的,且由后臺運(yùn)行程序所占用的存儲空間。
16.根據(jù)權(quán)利要求13或14所述的移動終端,其特征在于,所述處理器還用于: 控制所述寫線程持續(xù)地在所述第一預(yù)設(shè)文件目錄下寫入預(yù)設(shè)大小的預(yù)置文件直至所述移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止;或 控制所述寫線程持續(xù)地向所述第一預(yù)設(shè)文件目錄中寫入預(yù)設(shè)大小的內(nèi)存數(shù)據(jù)直至所述移動終端的存儲空間達(dá)到預(yù)設(shè)閾值為止。
17.根據(jù)權(quán)利要求14所述的移動終端,其特征在于,所述處理器還用于: 在所述控制寫線程持續(xù)地向第一預(yù)設(shè)文件目錄中寫入數(shù)據(jù)之前,獲取所述移動終端中存儲空間的剩余量,并根據(jù)在所述第一預(yù)設(shè)文件目錄下寫入的所述數(shù)據(jù)的大小獲取清理的所述存儲空間大小。
18.根據(jù)權(quán)利要求13或14所述的移動終端,其特征在于,所述寫線程包括多個,所述處理器還用于: 在所述控制寫線程在第一預(yù)設(shè)文件目錄下寫入數(shù)據(jù)之前,根據(jù)所述存儲空間的剩余量分別為所述多個寫線程分配寫入任務(wù)。
【文檔編號】G06F9/46GK103677977SQ201310706604
【公開日】2014年3月26日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
【發(fā)明者】李鴻, 韋航, 李丁盼, 馬健 申請人:貝殼網(wǎng)際(北京)安全技術(shù)有限公司