本發(fā)明涉及終端領(lǐng)域,尤其涉及一種管理系統(tǒng)內(nèi)存的方法及終端。
背景技術(shù):
隨著智能終端技術(shù)的日益發(fā)展,智能終端越來越普及,用戶對(duì)終端性能的要求也越來越高。終端性能主要體現(xiàn)在終端在硬件上的配置,比如終端的處理器、顯示屏以及內(nèi)存等。其中,內(nèi)存是用于對(duì)正在運(yùn)行的進(jìn)程進(jìn)行存儲(chǔ)的存儲(chǔ)器,使進(jìn)程能夠運(yùn)行的主要硬件設(shè)備。由于目前市場(chǎng)上內(nèi)存的制造成本較高,所以市面上的智能終端的內(nèi)存一般設(shè)置為1G或者2G。而現(xiàn)在應(yīng)用開發(fā)商所開發(fā)的應(yīng)用程序越來越追求多功能用途,因此應(yīng)用程序被運(yùn)行時(shí),對(duì)應(yīng)的進(jìn)程會(huì)占用較大的內(nèi)存容量,比如一些大型游戲應(yīng)用程序,當(dāng)終端運(yùn)行該大型游戲時(shí),所對(duì)應(yīng)的進(jìn)程可能會(huì)占用800M內(nèi)存空間,這樣對(duì)終端的性能造成了較大的影響。并且,由于終端通常會(huì)同時(shí)運(yùn)行多個(gè)應(yīng)用程序,則會(huì)產(chǎn)生多個(gè)進(jìn)程同時(shí)存儲(chǔ)在內(nèi)存中,而多個(gè)進(jìn)程在內(nèi)存的物理存儲(chǔ)上,并非連續(xù)占用物理內(nèi)存,從而導(dǎo)致內(nèi)存碎片化。因此,即使內(nèi)存的總空閑容量較大時(shí),其連續(xù)空閑內(nèi)存容量可能比較小,比如,該內(nèi)存總?cè)萘繛?G,由于多個(gè)進(jìn)程非連續(xù)性存儲(chǔ),導(dǎo)致內(nèi)存碎片化,其總的空閑容量為500M,但其最大的連續(xù)空閑容量則可能只有100M。這時(shí),若有一個(gè)進(jìn)程需要占用101M的連續(xù)內(nèi)存時(shí),系統(tǒng)則無法進(jìn)行內(nèi)存分配,可能導(dǎo)致系統(tǒng)崩潰,數(shù)據(jù)丟失等嚴(yán)重影響。
在現(xiàn)有的管理機(jī)制中,系統(tǒng)不會(huì)去實(shí)時(shí)監(jiān)測(cè)內(nèi)存的連續(xù)內(nèi)存容量,當(dāng)內(nèi)存的空閑容量較小時(shí),系統(tǒng)也不會(huì)主動(dòng)對(duì)其進(jìn)行部分進(jìn)程的釋放,而是被動(dòng)接收到用戶的關(guān)閉指令后對(duì)相應(yīng)的進(jìn)程進(jìn)行釋放。這樣,若系統(tǒng)的連續(xù)內(nèi)存容量較小時(shí),若有新的需要占用較大內(nèi)存容量的進(jìn)程需要被運(yùn)行時(shí),則可能造成系統(tǒng)崩潰,數(shù)據(jù)丟失等問題,影響了終端系統(tǒng)的穩(wěn)定性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種管理系統(tǒng)內(nèi)存的方法及終端,用于提高終端系統(tǒng)的穩(wěn)定性。
本發(fā)明實(shí)施例第一方面提供一種管理系統(tǒng)內(nèi)存的方法,包括:
獲取系統(tǒng)內(nèi)存的使用情況;
判斷系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量是否小于第一預(yù)設(shè)閾值,若是,則根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。
可選地,根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放包括:
優(yōu)先釋放系統(tǒng)內(nèi)存中優(yōu)先級(jí)低的進(jìn)程;或者,
優(yōu)先釋放系統(tǒng)內(nèi)存中占用容量大于第二預(yù)設(shè)閾值的進(jìn)程;或者,
優(yōu)先釋放系統(tǒng)內(nèi)存中占用非連續(xù)的容量的進(jìn)程。
可選地,優(yōu)先級(jí)包括:進(jìn)程的業(yè)務(wù)優(yōu)先級(jí),或者使用優(yōu)先級(jí),使用優(yōu)先級(jí)根據(jù)進(jìn)程的使用率設(shè)置,其中,使用率高于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)高,使用率低于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)低。
可選地,獲取系統(tǒng)內(nèi)存的使用情況包括:
實(shí)時(shí)檢測(cè)獲取系統(tǒng)內(nèi)存的使用情況;或者,
按照預(yù)設(shè)周期獲取系統(tǒng)內(nèi)存的使用情況。
可選地,在根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放之前,該方法還包括:
接收目標(biāo)進(jìn)程對(duì)系統(tǒng)內(nèi)存的占用請(qǐng)求,請(qǐng)求包含目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量,目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量大于第一預(yù)設(shè)閾值。
本發(fā)明實(shí)施例第二方面提供一種終端,包括:
獲取單元,用于獲取系統(tǒng)內(nèi)存的使用情況;
判斷單元,用于判斷系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量是否小于第一預(yù)設(shè)閾值;
釋放單元,用于當(dāng)判斷單元判斷系統(tǒng)內(nèi)存的連續(xù)空閑容量小于第一預(yù)設(shè)閾值時(shí),根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。
可選地,釋放單元具體用于:
優(yōu)先釋放系統(tǒng)內(nèi)存中優(yōu)先級(jí)低的進(jìn)程;或者,
優(yōu)先釋放系統(tǒng)內(nèi)存中占用容量大于第二預(yù)設(shè)閾值的進(jìn)程;或者,
優(yōu)先釋放系統(tǒng)內(nèi)存中占用非連續(xù)的容量的進(jìn)程。
可選地,優(yōu)先級(jí)包括:進(jìn)程的業(yè)務(wù)優(yōu)先級(jí),或者使用優(yōu)先級(jí),使用優(yōu)先級(jí)根據(jù)進(jìn)程的使用率設(shè)置,其中,使用率高于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)高,使用率低于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)低。
可選地,獲取單元具體用于:
實(shí)時(shí)檢測(cè)獲取系統(tǒng)內(nèi)存的使用情況;或者,
按照預(yù)設(shè)周期獲取系統(tǒng)內(nèi)存的使用情況。
可選地,該終端還包括:
接收單元,用于在釋放單元根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放之前,接收目標(biāo)進(jìn)程對(duì)系統(tǒng)內(nèi)存的占用請(qǐng)求,請(qǐng)求包含目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量,目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量大于第一預(yù)設(shè)閾值。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):終端獲取系統(tǒng)內(nèi)存的使用情況,判斷系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量是否小于第一預(yù)設(shè)閾值,若是,則根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。這樣,終端內(nèi)設(shè)置有第一預(yù)設(shè)閾值,終端檢測(cè)系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量,若該系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量小于該第一預(yù)設(shè)閾值時(shí),終端則根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放,從而增大系統(tǒng)內(nèi)存的連續(xù)空閑容量,使得終端的系統(tǒng)內(nèi)存保持一定的連續(xù)空閑物理內(nèi)容內(nèi)存容量,減少了系統(tǒng)崩潰以及數(shù)據(jù)丟失的可能性,提高了終端系統(tǒng)的穩(wěn)定性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中管理系統(tǒng)內(nèi)存的方法的一個(gè)實(shí)施例示意圖;
圖2為本發(fā)明實(shí)施例中管理系統(tǒng)內(nèi)存的方法的另一實(shí)施例示意圖;
圖3為本發(fā)明實(shí)施例中終端的一個(gè)實(shí)施例示意圖;
圖4為本發(fā)明實(shí)施例中終端的另一實(shí)施例示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
本發(fā)明實(shí)施例提供了一種管理系統(tǒng)內(nèi)存的方法及終端,用于提高終端系統(tǒng)的穩(wěn)定性。
參照?qǐng)D1所示,圖1為本發(fā)明實(shí)施例中管理系統(tǒng)內(nèi)存的方法的一個(gè)實(shí)施例,需要說明的是,本發(fā)明實(shí)施例所提供的方法應(yīng)用于終端,該終端可以是移動(dòng)終端,移動(dòng)終端可以是智能手機(jī)、平板電腦、個(gè)人數(shù)字助理(英文全稱:Personal Digital Assistant,英文縮寫:PDA)、個(gè)人計(jì)算機(jī)(英文全稱:Personal Computer,英文縮寫:PC)、智能電視、智能手表或其它具有系統(tǒng)內(nèi)存管理功能的智能設(shè)備等,此處以智能手機(jī)為例進(jìn)行介紹,然而并不應(yīng)構(gòu)成對(duì)本發(fā)明方案的限定。具體步驟包括:
101、獲取系統(tǒng)內(nèi)存的使用情況;
終端若需要檢測(cè)系統(tǒng)內(nèi)存的連續(xù)空閑容量,需要先獲取系統(tǒng)內(nèi)存的使用情況??蛇x地,終端可以進(jìn)行實(shí)時(shí)監(jiān)測(cè)獲取系統(tǒng)內(nèi)存的使用情況,也可以通過周期性地監(jiān)測(cè)獲取系統(tǒng)內(nèi)存的使用情況,比如每隔5秒進(jìn)行一次系統(tǒng)內(nèi)存的檢測(cè)。
系統(tǒng)內(nèi)存的使用情況包括系統(tǒng)內(nèi)存的總?cè)萘?,具體什么進(jìn)程占用了系統(tǒng)內(nèi)存,每個(gè)進(jìn)程所占用的系統(tǒng)內(nèi)存的容量,系統(tǒng)內(nèi)存的總空閑容量,以及進(jìn)程占用系統(tǒng)內(nèi)存的物理分配情況。終端根據(jù)進(jìn)程占用系統(tǒng)內(nèi)存的物理存儲(chǔ)情況從而計(jì)算出系統(tǒng)內(nèi)存的連續(xù)空閑容量。比如,終端的系統(tǒng)內(nèi)存總?cè)萘繛?G,該系統(tǒng)內(nèi)存中包含了三個(gè)進(jìn)程,第一個(gè)進(jìn)程占用系統(tǒng)內(nèi)存100M,第二個(gè)進(jìn)程占用系統(tǒng)內(nèi)存200M,第三個(gè)進(jìn)程占用系統(tǒng)內(nèi)存300M,那么系統(tǒng)內(nèi)存的占用量總計(jì)為600M,系統(tǒng)內(nèi)存的總空閑容量為400M,但是由于這三個(gè)進(jìn)程在系統(tǒng)內(nèi)存的物理分配中可能并非連續(xù)分配存儲(chǔ)的,那么該系統(tǒng)內(nèi)存的最大的連續(xù)空閑容量可能不足400M。比如,第一個(gè)進(jìn)程雖然為100M,但是在系統(tǒng)內(nèi)存的物理分配上,可能分配的是0到100M的存儲(chǔ)位置,第二個(gè)進(jìn)程雖然為200M,但是在系統(tǒng)內(nèi)存的物理分配上,可能分配的是第200M到第400M的存儲(chǔ)位置,第三個(gè)進(jìn)程為300M,在系統(tǒng)內(nèi)存的物理分配上可能分配的是第500M到第800M的存儲(chǔ)位置。因此,在實(shí)際的系統(tǒng)內(nèi)存的物理分配上,第一個(gè)進(jìn)程和第二個(gè)進(jìn)程之間有100M的空閑容量,第二個(gè)進(jìn)程和第三個(gè)進(jìn)程之間有100M的空閑容量,第三個(gè)進(jìn)程之后有200M的空閑容量。雖然系統(tǒng)內(nèi)存的總空閑容量仍然為400M,但是該系統(tǒng)內(nèi)存的實(shí)際物理存儲(chǔ)上最大的連續(xù)空閑內(nèi)容只有200M。
102、判斷系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量是否小于第一預(yù)設(shè)閾值,若是,則執(zhí)行步驟103;若否,則結(jié)束流程。
終端的系統(tǒng)內(nèi)存中出現(xiàn)連續(xù)空閑物理內(nèi)存容量小于總空閑容量的情況一般是由于系統(tǒng)內(nèi)存出現(xiàn)碎片化而造成的。比如,終端在運(yùn)行某應(yīng)用程序的時(shí)候,會(huì)根據(jù)其對(duì)應(yīng)的進(jìn)程大概所占用的系統(tǒng)內(nèi)存的容量進(jìn)行申請(qǐng),終端則根據(jù)該申請(qǐng)為該進(jìn)程分配相應(yīng)的系統(tǒng)內(nèi)存。例如,終端預(yù)計(jì)該進(jìn)程可能占用100M系統(tǒng)內(nèi)存,因此則在系統(tǒng)內(nèi)存的物理分配上,將0到100M的存儲(chǔ)位置預(yù)留給該進(jìn)程進(jìn)行存儲(chǔ),而實(shí)際上該進(jìn)程只占用了80M,由于0到100M的存儲(chǔ)位置均是預(yù)留給該進(jìn)程的,在下一個(gè)進(jìn)程進(jìn)入系統(tǒng)內(nèi)存后,終端在系統(tǒng)內(nèi)存的物理分配上從第100M開始為下一個(gè)進(jìn)程進(jìn)行存儲(chǔ)位置的分配,從而導(dǎo)致兩個(gè)進(jìn)程之間出現(xiàn)了20M的空隙。另外還有一種系統(tǒng)內(nèi)存碎片化的情況,終端首先運(yùn)行了第一應(yīng)用程序,該第一應(yīng)用程序?qū)?yīng)的進(jìn)程首先存儲(chǔ)到系統(tǒng)內(nèi)存中,隨后終端運(yùn)行第二應(yīng)用程序,第二應(yīng)用程序?qū)?yīng)的進(jìn)程也存儲(chǔ)到系統(tǒng)內(nèi)存中,在系統(tǒng)內(nèi)存的物理分配上,兩個(gè)應(yīng)用程序?qū)?yīng)的進(jìn)程是連續(xù)存儲(chǔ)的,但是由于后續(xù)終端對(duì)第一應(yīng)用程序進(jìn)行了不同的操作,從而產(chǎn)生其它關(guān)聯(lián)進(jìn)程,該關(guān)聯(lián)進(jìn)程在系統(tǒng)內(nèi)存的物理分配上則被分配在第二應(yīng)用程序所對(duì)應(yīng)的進(jìn)程后面。此時(shí),若終端關(guān)閉了第二應(yīng)用程序,則在系統(tǒng)內(nèi)存中,第二應(yīng)用程序所對(duì)應(yīng)的進(jìn)程同樣被釋放掉,那么在系統(tǒng)內(nèi)存的物理分配上,第一應(yīng)用程序兩個(gè)關(guān)聯(lián)的進(jìn)程則并非是連續(xù)存儲(chǔ)的,中間相隔了一段第二應(yīng)用程序?qū)?yīng)的進(jìn)程大小的空閑容量。從而產(chǎn)生了系統(tǒng)內(nèi)存碎片化的問題,系統(tǒng)內(nèi)存碎片化越多,則系統(tǒng)內(nèi)存中的連續(xù)空閑容量越小。
由于進(jìn)程在系統(tǒng)內(nèi)存的物理分配上一般需要進(jìn)行連續(xù)的空閑容量進(jìn)行存儲(chǔ),因此,在本發(fā)明實(shí)施例中,為了使得系統(tǒng)內(nèi)存一直保持較大的連續(xù)空閑容量,則需要判斷系統(tǒng)內(nèi)存的連續(xù)空閑容量是否大于第一預(yù)設(shè)閾值??蛇x地,該連續(xù)空閑容量可以為系統(tǒng)內(nèi)存中多個(gè)連續(xù)空閑容量中最大的一個(gè)。該第一預(yù)設(shè)閾值可以由用戶人工設(shè)定,也可以由終端預(yù)先配置一個(gè)閾值,比如預(yù)先配置為300M。
103、根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。
當(dāng)終端判斷系統(tǒng)內(nèi)存中最大的連續(xù)空閑容量小于第一預(yù)設(shè)閾值時(shí),則表示系統(tǒng)內(nèi)存中的連續(xù)空閑容量較小,系統(tǒng)內(nèi)存的碎片化較嚴(yán)重。為了讓新的進(jìn)程能夠正常運(yùn)行,減少系統(tǒng)崩潰的情況,提高系統(tǒng)的穩(wěn)定性,終端則按照預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放,從而使得系統(tǒng)內(nèi)存中的最大連續(xù)空閑容量大于第一預(yù)設(shè)閾值。
本發(fā)明實(shí)施例中,終端獲取系統(tǒng)內(nèi)存的使用情況,判斷系統(tǒng)內(nèi)存的連續(xù)空閑容量是否小于第一預(yù)設(shè)閾值,若是,則根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。這樣,終端內(nèi)設(shè)置有第一預(yù)設(shè)閾值,終端檢測(cè)系統(tǒng)內(nèi)存的連續(xù)空閑容量,若該連續(xù)空閑容量小于該第一預(yù)設(shè)閾值時(shí),終端則根據(jù)預(yù)設(shè)規(guī)則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放,從而增大系統(tǒng)內(nèi)存的連續(xù)空閑容量,使得終端的系統(tǒng)內(nèi)存保持一定的連續(xù)空閑容量,減少了系統(tǒng)崩潰以及數(shù)據(jù)丟失的可能性,提高了終端系統(tǒng)的穩(wěn)定性。
參照?qǐng)D2所示,本發(fā)明實(shí)施例中管理系統(tǒng)內(nèi)存的方法的另一實(shí)施例包括:
201、獲取系統(tǒng)內(nèi)存的使用情況;
詳細(xì)內(nèi)容參照步驟101所述。
202、接收目標(biāo)進(jìn)程對(duì)所述系統(tǒng)內(nèi)存的占用請(qǐng)求,所述請(qǐng)求包含所述目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量,所述目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量大于第一預(yù)設(shè)閾值;
在上述實(shí)施例中,終端只要檢測(cè)到系統(tǒng)內(nèi)存的最大的連續(xù)空閑容量小于第一預(yù)設(shè)閾值,則對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。這樣,可能導(dǎo)致用戶并不想關(guān)閉的應(yīng)用程序被強(qiáng)行關(guān)閉掉,影響用戶的體驗(yàn)。而在實(shí)際應(yīng)用中,可能即使系統(tǒng)內(nèi)存的連續(xù)空閑容量小于第一預(yù)設(shè)閾值時(shí),由于用戶不會(huì)運(yùn)行新的需要占用較大系統(tǒng)內(nèi)存的應(yīng)用程序,則一般不會(huì)導(dǎo)致系統(tǒng)崩潰,數(shù)據(jù)丟失等問題。因此,在本發(fā)明實(shí)施例中,終端在對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放之前,先判斷所新運(yùn)行的應(yīng)用程序所對(duì)應(yīng)的進(jìn)程需要占用的系統(tǒng)內(nèi)存是否大于第一預(yù)設(shè)閾值,若大于,才對(duì)系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。
需要說明的是,步驟202為可選步驟,該步驟可以位于步驟201之前,也可以位于步驟204之前。
203、判斷系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量是否小于第一預(yù)設(shè)閾值,若是,則執(zhí)行步驟204;若否,則結(jié)束流程。
比如,判斷系統(tǒng)的連續(xù)空閑物理內(nèi)存的容量是否小于200M。
204、根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。
在一種可能的實(shí)現(xiàn)方式中,終端根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放可以為:終端優(yōu)先釋放所述系統(tǒng)內(nèi)存中優(yōu)先級(jí)低的進(jìn)程。其中,優(yōu)先級(jí)包括進(jìn)程的業(yè)務(wù)優(yōu)先級(jí),或者使用優(yōu)先級(jí)。業(yè)務(wù)優(yōu)先級(jí)可以根據(jù)進(jìn)程的具體作用進(jìn)行劃分,比如像操作系統(tǒng)進(jìn)程、語音通信進(jìn)程這類系統(tǒng)進(jìn)程的業(yè)務(wù)優(yōu)先級(jí)為高優(yōu)先級(jí),而像社交程序進(jìn)程、文本閱讀器進(jìn)程、視頻播放進(jìn)程這類應(yīng)用進(jìn)程的業(yè)務(wù)優(yōu)先級(jí)為低優(yōu)先級(jí)。而另外一種優(yōu)先級(jí)的劃分可以根據(jù)進(jìn)程的使用率進(jìn)行劃分,比如,使用率高于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)高,使用率低于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)低。比如,某社交應(yīng)用程序所對(duì)應(yīng)的進(jìn)程平均每隔兩天被使用一次,因此認(rèn)為該社交應(yīng)用程序所對(duì)應(yīng)的進(jìn)程的使用優(yōu)先級(jí)為高優(yōu)先級(jí);而某文本閱讀器程序?qū)?yīng)的進(jìn)程每隔三天被使用一次,因此認(rèn)為該文本閱讀器程序?qū)?yīng)的進(jìn)程的使用優(yōu)先級(jí)為低優(yōu)先級(jí)。
另一種可能的實(shí)現(xiàn)方式中,終端根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放可以為:優(yōu)先釋放所述系統(tǒng)內(nèi)存中占用容量大于第二預(yù)設(shè)閾值的進(jìn)程。若系統(tǒng)內(nèi)存中有一個(gè)進(jìn)程的占用容量特別大,占用了800M系統(tǒng)內(nèi)存的容量,而整個(gè)系統(tǒng)內(nèi)存的總?cè)萘坎?G,因此,為了減少系統(tǒng)崩潰的情況發(fā)生,在需要對(duì)系統(tǒng)內(nèi)存中的進(jìn)行進(jìn)行釋放時(shí),可以優(yōu)先釋放掉該占用系統(tǒng)內(nèi)存較大的進(jìn)程。
另一種可能的實(shí)現(xiàn)方式中,終端根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放可以為:優(yōu)先釋放所述系統(tǒng)內(nèi)存中占用非連續(xù)的容量的進(jìn)程。如上述102步驟可知,系統(tǒng)內(nèi)存出現(xiàn)碎片化有可能是因?yàn)橥粋€(gè)應(yīng)用程序所對(duì)應(yīng)的多個(gè)關(guān)聯(lián)進(jìn)程在系統(tǒng)內(nèi)存的物理分配上并非連續(xù)存儲(chǔ)造成的,多個(gè)關(guān)聯(lián)進(jìn)程之間可能存在多個(gè)空閑容量,因此,在需要對(duì)進(jìn)程進(jìn)行釋放時(shí),可以優(yōu)先釋放掉這類在系統(tǒng)內(nèi)存中占用非連續(xù)的容量的進(jìn)程,因此則會(huì)得到較多的連續(xù)空閑容量。
參照?qǐng)D3所示,本發(fā)明實(shí)施例中終端的一個(gè)實(shí)施例包括:
獲取單元301,用于獲取系統(tǒng)內(nèi)存的使用情況;
判斷單元302,用于判斷所述系統(tǒng)內(nèi)存的連續(xù)空閑容量是否小于第一預(yù)設(shè)閾值;
釋放單元303,用于當(dāng)所述判斷單元判斷所述系統(tǒng)內(nèi)存的連續(xù)空閑容量小于第一預(yù)設(shè)閾值時(shí),根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放。
結(jié)合圖3實(shí)施例,參照?qǐng)D4所示,在一個(gè)可選實(shí)施例中,所述釋放單元303具體用于:
優(yōu)先釋放所述系統(tǒng)內(nèi)存中優(yōu)先級(jí)低的進(jìn)程;或者,
優(yōu)先釋放所述系統(tǒng)內(nèi)存中占用容量大于第二預(yù)設(shè)閾值的進(jìn)程;或者,
優(yōu)先釋放所述系統(tǒng)內(nèi)存中占用非連續(xù)的容量的進(jìn)程。
可選地,所述優(yōu)先級(jí)包括:進(jìn)程的業(yè)務(wù)優(yōu)先級(jí),或者使用優(yōu)先級(jí),所述使用優(yōu)先級(jí)根據(jù)進(jìn)程的使用率設(shè)置,其中,使用率高于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)高,使用率低于第三預(yù)設(shè)閾值的進(jìn)程的使用優(yōu)先級(jí)低。
可選地,所述判斷單元302具體用于:
判斷系統(tǒng)的連續(xù)空閑內(nèi)存是否小于第四預(yù)設(shè)閾值;或者,
判斷系統(tǒng)的連續(xù)空閑緩存是否小于第五預(yù)設(shè)閾值。
可選地,所述終端還包括:
接收單元304,用于在所述釋放單元根據(jù)預(yù)設(shè)規(guī)則對(duì)所述系統(tǒng)內(nèi)存中的進(jìn)程進(jìn)行釋放之前,接收目標(biāo)進(jìn)程對(duì)所述系統(tǒng)內(nèi)存的占用請(qǐng)求,所述請(qǐng)求包含所述目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量,所述目標(biāo)進(jìn)程需要占用的系統(tǒng)內(nèi)存的容量大于所述第一預(yù)設(shè)閾值。
需要說明的是,圖3以及圖4所對(duì)應(yīng)的終端的實(shí)施例中的具體描述可以參照?qǐng)D1以及圖2所對(duì)應(yīng)的方法實(shí)施例的描述內(nèi)容,此處不做贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。