本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種資源管理方法、裝置、移動(dòng)終端及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展,智能移動(dòng)終端已經(jīng)成為許多用戶(hù)最常用的電子設(shè)備,例如智能手機(jī)、平板電板等。用戶(hù)可在智能移動(dòng)終端上安裝各式的應(yīng)用程序進(jìn)行使用,當(dāng)應(yīng)用程序在后臺(tái)進(jìn)行運(yùn)行時(shí),會(huì)與前臺(tái)運(yùn)行的應(yīng)用程序搶占cpu(centralprocessingunit,中央處理器)、內(nèi)存、帶寬等系統(tǒng)資源,導(dǎo)致出現(xiàn)前臺(tái)運(yùn)行的應(yīng)用卡頓、系統(tǒng)運(yùn)行緩慢及移動(dòng)終端發(fā)熱等問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種資源管理方法、裝置、移動(dòng)終端及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
一種資源管理方法,包括:
當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),獲取所述應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù);
根據(jù)所述資源使用數(shù)據(jù)獲取所述應(yīng)用使用的資源種類(lèi);
根據(jù)所述資源使用數(shù)據(jù)確定所述應(yīng)用在所述資源種類(lèi)下的資源限制等級(jí);
將所述應(yīng)用分配到所述資源種類(lèi)下與所述資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與所述資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。
一種資源管理裝置,包括:
數(shù)據(jù)獲取模塊,用于當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),獲取所述應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù);
種類(lèi)獲取模塊,用于根據(jù)所述資源使用數(shù)據(jù)獲取所述應(yīng)用使用的資源種類(lèi);
等級(jí)確定模塊,用于根據(jù)所述資源使用數(shù)據(jù)確定所述應(yīng)用在所述資源種類(lèi)下的資源限制等級(jí);
配置模塊,用于將所述應(yīng)用分配到所述資源種類(lèi)下與所述資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與所述資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。
一種移動(dòng)終端,包括存儲(chǔ)器及處理器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí),使得所述處理器實(shí)現(xiàn)如上所述的方法。
一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的方法。
上述資源管理方法、裝置、移動(dòng)終端及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),可獲取該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù),根據(jù)資源使用數(shù)據(jù)確定應(yīng)用使用的資源種類(lèi)及資源種類(lèi)下的資源限制等級(jí),并將應(yīng)用分配到使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源配置中,配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)在不同資源種類(lèi)下不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
附圖說(shuō)明
圖1為一個(gè)實(shí)施例中移動(dòng)終端的框圖;
圖2為一個(gè)實(shí)施例中資源管理方法的系統(tǒng)架構(gòu)圖;
圖3為一個(gè)實(shí)施例中資源管理方法的流程示意圖;
圖4為一個(gè)實(shí)施例中確定應(yīng)用在使用的資源種類(lèi)下的資源限制等級(jí)的流程示意圖;
圖5為一個(gè)實(shí)施例中將應(yīng)用分配到使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別的流程示意圖;
圖6為一個(gè)實(shí)施例中降低與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí)的流程示意圖;
圖7為一個(gè)實(shí)施例中資源管理裝置的框圖;
圖8為一個(gè)實(shí)施例中等級(jí)確定模塊的框圖;
圖9為一個(gè)實(shí)施例中配置模塊的框圖;
圖10為另一個(gè)實(shí)施例中移動(dòng)終端的框圖。
具體實(shí)施方式
為了使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本申請(qǐng)進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本申請(qǐng),并不用于限定本申請(qǐng)。
可以理解,本申請(qǐng)所使用的術(shù)語(yǔ)“第一”、“第二”等可在本文中用于描述各種元件,但這些元件不受這些術(shù)語(yǔ)限制。這些術(shù)語(yǔ)僅用于將第一個(gè)元件與另一個(gè)元件區(qū)分。舉例來(lái)說(shuō),在不脫離本申請(qǐng)的范圍的情況下,可以將第一客戶(hù)端稱(chēng)為第二客戶(hù)端,且類(lèi)似地,可將第二客戶(hù)端稱(chēng)為第一客戶(hù)端。第一客戶(hù)端和第二客戶(hù)端兩者都是客戶(hù)端,但其不是同一客戶(hù)端。
圖1為一個(gè)實(shí)施例中移動(dòng)終端的框圖。如圖1所示,該移動(dòng)終端包括通過(guò)系統(tǒng)總線(xiàn)連接的處理器、存儲(chǔ)器、顯示屏和輸入裝置。其中,存儲(chǔ)器可包括非易失性存儲(chǔ)介質(zhì)及處理器。移動(dòng)終端的非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng)及計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)以實(shí)現(xiàn)本申請(qǐng)實(shí)施例中提供的一種資源管理方法。該處理器用于提供計(jì)算和控制能力,支撐整個(gè)移動(dòng)終端的運(yùn)行。移動(dòng)終端中的內(nèi)存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)中的計(jì)算機(jī)程序的運(yùn)行提供環(huán)境。移動(dòng)終端的顯示屏可以是液晶顯示屏或者電子墨水顯示屏等,輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是移動(dòng)終端外殼上設(shè)置的按鍵、軌跡球或觸控板,也可以是外接的鍵盤(pán)、觸控板或鼠標(biāo)等。該移動(dòng)終端可以是手機(jī)、平板電腦或者個(gè)人數(shù)字助理或穿戴式設(shè)備等。本領(lǐng)域技術(shù)人員可以理解,圖1中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用于其上的移動(dòng)終端的限定,具體的移動(dòng)終端可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
圖2為一個(gè)實(shí)施例中資源管理方法的系統(tǒng)架構(gòu)圖。如圖2所示,該系統(tǒng)架構(gòu)中包括java空間層210、本地框架層220以及內(nèi)核(kernel)空間層230。java空間層210上可包含凍結(jié)管理模塊212,移動(dòng)終端可通過(guò)該凍結(jié)管理模塊212來(lái)實(shí)現(xiàn)對(duì)運(yùn)行的各個(gè)應(yīng)用的凍結(jié)策略,對(duì)后臺(tái)耗電較多或是搶占大量系統(tǒng)資源的相關(guān)應(yīng)用進(jìn)行凍結(jié)操作。本地框架層220中包含資源優(yōu)先級(jí)和限制管理器222和平臺(tái)凍結(jié)管理器224。移動(dòng)終端可通過(guò)資源優(yōu)先級(jí)和限制管理器222實(shí)時(shí)維護(hù)不同的應(yīng)用處于不同的資源使用優(yōu)先級(jí)和不同的資源組別中,并根據(jù)上層的需求來(lái)調(diào)整應(yīng)用程序的資源組別從而達(dá)到優(yōu)化性能,節(jié)省功耗的作用。移動(dòng)終端可通過(guò)平臺(tái)凍結(jié)管理器224將后臺(tái)可以?xún)鼋Y(jié)的應(yīng)用按照進(jìn)入凍結(jié)時(shí)間的長(zhǎng)短,分配到對(duì)應(yīng)預(yù)設(shè)的不同層次的凍結(jié)層??蛇x地,該凍結(jié)層可包括三個(gè),分別是:cpu限制睡眠模式、cpu凍結(jié)睡眠模式、進(jìn)程深度凍結(jié)模式。其中,cpu限制睡眠模式是指對(duì)相關(guān)進(jìn)程所占用的cpu資源進(jìn)行限制,使相關(guān)進(jìn)程占用較少的cpu資源,將空余的cpu資源向其它未被凍結(jié)的進(jìn)程傾斜,限制了對(duì)cpu資源的占用,也相應(yīng)限制了進(jìn)程對(duì)網(wǎng)絡(luò)資源以及i/o接口資源的占用;cpu凍結(jié)睡眠模式是指禁止相關(guān)進(jìn)程使用cpu,而保留對(duì)內(nèi)存的占用,當(dāng)禁止使用cpu資源時(shí),相應(yīng)的網(wǎng)絡(luò)資源以及i/o接口資源也被禁止使用;進(jìn)程深度凍結(jié)模式是指除禁止使用cpu資源之外,進(jìn)一步對(duì)相關(guān)進(jìn)程所占用的內(nèi)存資源進(jìn)行回收,回收的內(nèi)存可供其它進(jìn)程使用??蛇x地,本地框架層220還可包括接口模塊,該接口模塊包含開(kāi)發(fā)給上層的binder接口,上層的框架或者應(yīng)用通過(guò)提供的binder接口來(lái)發(fā)送資源限制或者凍結(jié)的指令給資源優(yōu)先級(jí)和限制管理器222和平臺(tái)凍結(jié)管理器224。
內(nèi)核空間層230中可包括uid管理模塊231、cgroup模塊233、binder管控模塊235、進(jìn)程內(nèi)存回收模塊237以及凍結(jié)超時(shí)退出模塊239。其中,uid管理模塊231用于實(shí)現(xiàn)基于應(yīng)用的用戶(hù)身份標(biāo)識(shí)(useridentifier,uid)來(lái)管理第三方應(yīng)用的資源或進(jìn)行凍結(jié)。相比較于基于進(jìn)程身份標(biāo)識(shí)(processidentifier,pid)來(lái)進(jìn)行進(jìn)程管控,通過(guò)uid更便于統(tǒng)一管理一個(gè)用戶(hù)的應(yīng)用的資源。cgroup模塊233用于提供一套完善的cpu、cpuset、內(nèi)存(memory)、輸入/輸出(input/output,i/o)和net相關(guān)的資源限制機(jī)制。binder管控模塊235用于實(shí)現(xiàn)后臺(tái)binder通信的優(yōu)先級(jí)的控制。進(jìn)程內(nèi)存回收模塊237用于實(shí)現(xiàn)進(jìn)程深度凍結(jié)模式,這樣能當(dāng)某個(gè)第三方應(yīng)用長(zhǎng)期處于凍結(jié)狀態(tài)的時(shí)候,會(huì)主要釋放掉進(jìn)程的文件區(qū),從而達(dá)到節(jié)省內(nèi)存的模塊,也加快該應(yīng)用在下次啟動(dòng)時(shí)的速度。凍結(jié)超時(shí)退出模塊239可用于解決出現(xiàn)凍結(jié)超時(shí)場(chǎng)景產(chǎn)生的異常。通過(guò)上述的系統(tǒng)架構(gòu),可實(shí)現(xiàn)本申請(qǐng)各個(gè)實(shí)施例中的資源管理方法。
如圖3所示,在一個(gè)實(shí)施例中,提供一種資源管理方法,包括以下步驟:
步驟310,當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),獲取應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù)。
移動(dòng)終端上可同時(shí)運(yùn)行有一個(gè)或多個(gè)應(yīng)用程序,可包括在前臺(tái)運(yùn)行的前臺(tái)應(yīng)用及在后臺(tái)運(yùn)行的后臺(tái)應(yīng)用。移動(dòng)終端可對(duì)運(yùn)行的各個(gè)應(yīng)用程序進(jìn)行監(jiān)聽(tīng),并檢測(cè)是否有應(yīng)用進(jìn)入后臺(tái)運(yùn)行。應(yīng)用進(jìn)入后臺(tái)運(yùn)行可以是應(yīng)用從前臺(tái)運(yùn)行切換至后臺(tái)運(yùn)行,也可以是應(yīng)用啟動(dòng)后直接進(jìn)入后臺(tái)運(yùn)行等。
在一個(gè)實(shí)施例中,移動(dòng)終端可通過(guò)活動(dòng)管理器對(duì)運(yùn)行的各個(gè)應(yīng)用程序進(jìn)行監(jiān)聽(tīng),監(jiān)聽(tīng)各個(gè)應(yīng)用程序的運(yùn)行狀態(tài)變化。可選地,應(yīng)用程序的運(yùn)行狀態(tài)可包括但不限于啟動(dòng)、前臺(tái)運(yùn)行、后臺(tái)運(yùn)行、退出等。移動(dòng)終端可每隔一段時(shí)間通過(guò)活動(dòng)管理器的runningappprocessinfo類(lèi)獲取正在運(yùn)行的所有應(yīng)用程序列表,例如,每隔2秒獲取一次正在運(yùn)行的所有應(yīng)用程序列表,并逐一判斷應(yīng)用程序列表中各個(gè)正在運(yùn)行的應(yīng)用程序的運(yùn)行狀態(tài)是前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行。若移動(dòng)終端檢測(cè)到應(yīng)用在本次獲取的應(yīng)用程序列表中為后臺(tái)運(yùn)行,在上一次獲取的應(yīng)用程序列表中不是后臺(tái)運(yùn)行,則可確定該應(yīng)用為進(jìn)入后臺(tái)運(yùn)行的應(yīng)用。
可選地,移動(dòng)終端還可監(jiān)聽(tīng)每個(gè)activity(活動(dòng))的生命周期,并根據(jù)每個(gè)activity的生命周期獲取正在運(yùn)行的各個(gè)應(yīng)用程序的運(yùn)行狀態(tài)。移動(dòng)終端可建立全局計(jì)數(shù)器,統(tǒng)計(jì)每個(gè)activity對(duì)onstart及onstop兩個(gè)方法的調(diào)用,當(dāng)應(yīng)用程序調(diào)用一次onstart時(shí),全局計(jì)數(shù)器加1,當(dāng)應(yīng)用程序調(diào)用一次onstop時(shí),全局計(jì)數(shù)器減1。當(dāng)應(yīng)用程序的全局計(jì)數(shù)器大于0時(shí),可說(shuō)明應(yīng)用程序在前臺(tái)運(yùn)行,當(dāng)應(yīng)用程序的全局計(jì)數(shù)器等于0時(shí),可說(shuō)明應(yīng)用程序在后臺(tái)運(yùn)行。若移動(dòng)終端檢測(cè)到應(yīng)用的全局計(jì)數(shù)器從1變?yōu)?時(shí),則可確定該應(yīng)用進(jìn)入后臺(tái)運(yùn)行,或是移動(dòng)終端檢測(cè)到創(chuàng)建了新的activity,且該新的activity對(duì)應(yīng)的應(yīng)用的全局計(jì)數(shù)器為0,則可確定該應(yīng)用進(jìn)入后臺(tái)運(yùn)行等。可以理解地,移動(dòng)終端檢測(cè)應(yīng)用進(jìn)入后臺(tái)運(yùn)行也可采用其他方法,并不僅限于上述方式。
移動(dòng)終端檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),可獲取該獲取在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù)。預(yù)設(shè)時(shí)間段可根據(jù)實(shí)際需求進(jìn)行設(shè)定,比如3天、一周等。資源使用數(shù)據(jù)可包括該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)每次在后臺(tái)運(yùn)行時(shí)占用的資源種類(lèi)及占用比例等,其中,資源種類(lèi)可包括但不限于cpu、i/o、內(nèi)存及網(wǎng)絡(luò)資源等。
步驟320,根據(jù)資源使用數(shù)據(jù)獲取應(yīng)用使用的資源種類(lèi)。
移動(dòng)終端可根據(jù)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用的資源使用數(shù)據(jù)獲取該應(yīng)用使用的資源種類(lèi),應(yīng)用使用的資源種類(lèi)可以是資源使用數(shù)據(jù)中包含的資源種類(lèi)。例如,應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)總共在后臺(tái)運(yùn)行2次,第一次在后臺(tái)運(yùn)行時(shí)占用cpu20%、內(nèi)存10%,第二次在后臺(tái)運(yùn)行時(shí)占用cpu10%、內(nèi)存10%、網(wǎng)絡(luò)30%,則移動(dòng)終端可獲取該應(yīng)用使用的資源種類(lèi)可包括cpu、內(nèi)存及網(wǎng)絡(luò)資源。
應(yīng)用使用的資源種類(lèi)也可以是資源使用數(shù)據(jù)中占用比例大于預(yù)設(shè)值的資源種類(lèi)等,不同資源種類(lèi)可設(shè)定不同的預(yù)設(shè)值??蛇x地,移動(dòng)終端可對(duì)應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)每次在后臺(tái)運(yùn)行時(shí)占用的資源種類(lèi)及占用比例進(jìn)行統(tǒng)計(jì),并可計(jì)算該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)在不同資源種類(lèi)的平均占用比例。移動(dòng)終端可將應(yīng)用在資源種類(lèi)的平均占用比例與該資源種類(lèi)對(duì)應(yīng)的預(yù)設(shè)值進(jìn)行比較,并判斷平均占用比例是否大于該對(duì)應(yīng)的預(yù)設(shè)值。例如,應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)總共在后臺(tái)運(yùn)行3次,第一次在后臺(tái)運(yùn)行時(shí)占用cpu20%、內(nèi)存10%,第二次在后臺(tái)運(yùn)行時(shí)占用cpu10%、內(nèi)存10%,第三次在后臺(tái)運(yùn)行時(shí)占用cpu25%、內(nèi)存20%,則移動(dòng)終端可計(jì)算該應(yīng)用在cpu資源的平均占用比例為18.3%,內(nèi)存資源的平均占用比例為13.3%,cpu資源的平均占用比例大于預(yù)設(shè)值8%,內(nèi)存資源的平均占用比例大于預(yù)設(shè)值10%,則可確定該應(yīng)用使用的資源種類(lèi)包括cpu及內(nèi)存資源。
步驟330,根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在資源種類(lèi)下的資源限制等級(jí)。
可選地,移動(dòng)終端可根據(jù)實(shí)際需求設(shè)定不同的資源限制等級(jí),資源限制等級(jí)可用于表示應(yīng)用使用資源被限制的程度,資源限制等級(jí)越高,受限制的程度可越大。受限制的資源可包括但不限于cpu資源、內(nèi)存資源、i/o資源、網(wǎng)絡(luò)資源等。移動(dòng)終端獲取進(jìn)入后臺(tái)運(yùn)行的應(yīng)用使用的資源種類(lèi)后,可根據(jù)資源使用數(shù)據(jù)中該應(yīng)用使用的各個(gè)資源種類(lèi)的占用比例確定應(yīng)用在使用的各個(gè)資源種類(lèi)下的資源限制等級(jí)。
在一個(gè)實(shí)施例中,移動(dòng)終端設(shè)定的資源限制等級(jí)可包括無(wú)限制級(jí)別、普通限制級(jí)別、深度限制級(jí)別及凍結(jié)級(jí)別等。無(wú)限制級(jí)別可指的是應(yīng)用使用的資源不受限制。普通限制級(jí)別可指的是應(yīng)用可使用較少的資源,比如最多僅可使用50%的資源等,但不限于此。深度限制級(jí)別可指的是應(yīng)用可使用極少的資源,比如最多僅可使用20%的資源等,但不限于此。凍結(jié)級(jí)別指的是應(yīng)用無(wú)法使用任何的資源,停止應(yīng)用的一切行為??蛇x地,不同種類(lèi)的資源均可包含上述設(shè)定的幾種資源限制等級(jí),移動(dòng)終端可分別針對(duì)不同種類(lèi)的資源設(shè)定進(jìn)入后臺(tái)運(yùn)行的應(yīng)用的資源限制等級(jí)??蛇x地,不同種類(lèi)的資源均可包含上述設(shè)定的幾種資源限制等級(jí),移動(dòng)終端可分別根據(jù)應(yīng)用的資源使用數(shù)據(jù)中在不同資源種類(lèi)的占用比例確定用應(yīng)在使用的各個(gè)資源種類(lèi)的資源限制等級(jí)。資源限制等級(jí)也可按照其他方式進(jìn)行劃分,并不僅限于此,不同資源種類(lèi)也可劃分不同的資源限制等級(jí)。
可選地,資源種類(lèi)下不同的資源限制等級(jí)可對(duì)應(yīng)不同的占用比例區(qū)間。例如,網(wǎng)絡(luò)資源的無(wú)限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的網(wǎng)絡(luò)資源比例小于10%,普通限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的網(wǎng)絡(luò)資源比例在10%~30%之間,深度限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的網(wǎng)絡(luò)資源比例在30%~70%之間,凍結(jié)級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的網(wǎng)絡(luò)資源比例大于70%等。cpu資源的無(wú)限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的cpu資源比例小于5%,普通限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的cpu資源比例在5%~15%之間,深度限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的cpu資源比例在15%~30%之間,深度限制級(jí)別對(duì)應(yīng)的區(qū)間可以是應(yīng)用占用的cpu資源比例大于30%等,但不限于此。可選地,移動(dòng)終端獲取進(jìn)入后臺(tái)運(yùn)行的應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)的資源使用數(shù)據(jù)后,可根據(jù)資源使用數(shù)據(jù)獲取該應(yīng)用在使用的各個(gè)資源種類(lèi)的占用比例區(qū)間,從而確定應(yīng)用在使用的各個(gè)資源種類(lèi)的資源限制等級(jí)。比如,移動(dòng)終端可計(jì)算應(yīng)用在各個(gè)資源種類(lèi)的平均占用比例,并獲取平均占用比例所屬的占用比例區(qū)間,從而確定應(yīng)用在使用的各個(gè)資源種類(lèi)的資源限制等級(jí)。
步驟340,將應(yīng)用分配到資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。
移動(dòng)終端確定進(jìn)入后臺(tái)運(yùn)行的應(yīng)用在使用的資源種類(lèi)的資源限制等級(jí)后,可將該應(yīng)用發(fā)配到該使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與確定的資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。資源限制等級(jí)越高,限制資源使用的程度越強(qiáng),可對(duì)應(yīng)較低的資源使用優(yōu)先級(jí)。資源限制等級(jí)越低,限制資源使用的程度越弱,可對(duì)應(yīng)較高的資源使用優(yōu)先級(jí)。
可選地,移動(dòng)終端可基于內(nèi)核cgroup(controlgroup)機(jī)制劃分不同的資源組別,并可采用文件節(jié)點(diǎn)寫(xiě)配置的方式設(shè)置各個(gè)資源組別的資源使用優(yōu)先級(jí),對(duì)被分配到各個(gè)資源組別中的應(yīng)用使用資源的時(shí)間或比例等進(jìn)行管理,其中,cgroup是內(nèi)核中提供的一種可以限制、記錄、隔離進(jìn)程所使用的物理資源(比如:cpu、內(nèi)存、i/o、網(wǎng)絡(luò)等資源)的機(jī)制。針對(duì)不同種類(lèi)的資源,移動(dòng)終端可劃分不同的資源組別。移動(dòng)終端可加載cgroup的配置文件,配置文件中可記錄有劃分的資源組別、各個(gè)資源組別的資源使用優(yōu)先級(jí)及與資源使用優(yōu)先級(jí)對(duì)應(yīng)的資源調(diào)度策略。資源調(diào)度策略可包括但不限于被分配到資源組別中的進(jìn)程使用資源的時(shí)間、占用資源比例、使用的資源標(biāo)識(shí)等。例如,可配置網(wǎng)絡(luò)資源下的普通限制級(jí)別對(duì)應(yīng)的資源組別的應(yīng)用最大可占用20%的網(wǎng)絡(luò)資源,可配置cpu資源下的普通限制級(jí)別對(duì)應(yīng)的資源組別的應(yīng)用在1分鐘內(nèi)可使用30秒的cpu資源等,但不限于此。當(dāng)需要添加新的資源組別,或是修改資源組別的資源使用優(yōu)先級(jí)及資源調(diào)度策略,可通過(guò)修改cgroup的配置文件。
移動(dòng)終端將進(jìn)入后臺(tái)運(yùn)行的應(yīng)用分配到使用的資源種類(lèi)下與確定的資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與確定的資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí),該應(yīng)用可按照該資源組別對(duì)應(yīng)的資源調(diào)度策略使用該資源種類(lèi)??蛇x地,若該應(yīng)用使用的資源種類(lèi)有多個(gè),移動(dòng)終端可根據(jù)資源使用數(shù)據(jù)逐一確定該應(yīng)用在各個(gè)使用的資源種類(lèi)的資源限制等級(jí),并將該應(yīng)用分別分配到各個(gè)使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中。例如,移動(dòng)終端獲取進(jìn)入后臺(tái)運(yùn)行的應(yīng)用使用的資源種類(lèi)包括cpu資源及網(wǎng)絡(luò)資源,并根據(jù)資源使用數(shù)據(jù)確定該應(yīng)用在cpu資源的資源限制等級(jí)為深度限制級(jí)別,在網(wǎng)絡(luò)資源的資源限制等級(jí)為普通限制級(jí)別。移動(dòng)終端可將該應(yīng)用分別分配到cpu資源下與深度限制級(jí)別對(duì)應(yīng)的資源組別,以及網(wǎng)絡(luò)資源下與普通限制級(jí)別對(duì)應(yīng)的資源組別中。
在本實(shí)施例中,當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),可獲取該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù),根據(jù)資源使用數(shù)據(jù)確定應(yīng)用使用的資源種類(lèi)及資源種類(lèi)下的資源限制等級(jí),并將應(yīng)用分配到使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源配置中,配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)在不同資源種類(lèi)下不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
如圖4所示,在一個(gè)實(shí)施例中,步驟330根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在資源種類(lèi)下的資源限制等級(jí),包括以下步驟:
步驟402,獲取應(yīng)用使用的資源種類(lèi)當(dāng)前未被占用的比例。
移動(dòng)終端檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行,獲取該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù),并根據(jù)資源使用數(shù)據(jù)獲取該應(yīng)用使用的資源種類(lèi)。移動(dòng)終端可獲取該應(yīng)用使用的各個(gè)資源種類(lèi)當(dāng)前未被占用的比例,可先獲取應(yīng)用使用的各個(gè)資源種類(lèi)當(dāng)前的占用比例,并根據(jù)占用比例計(jì)算未被占用的比例。
在一個(gè)實(shí)施例中,移動(dòng)終端可將各個(gè)資源種類(lèi)的活動(dòng)數(shù)據(jù)記錄在預(yù)設(shè)文件中,可選的,不同資源種類(lèi)的活動(dòng)數(shù)據(jù)可記錄在不同的預(yù)設(shè)文件中。資源種類(lèi)的活動(dòng)數(shù)據(jù)可指的是對(duì)應(yīng)資源種類(lèi)被占用向移動(dòng)終端的操作系統(tǒng)或應(yīng)用程序等提供運(yùn)行能力時(shí)產(chǎn)生的數(shù)據(jù)。例如,cpu資源對(duì)應(yīng)的預(yù)設(shè)文件中可記錄有cpu從移動(dòng)終端啟動(dòng)至當(dāng)前時(shí)刻的累計(jì)工作時(shí)間,以及各個(gè)不同的進(jìn)程或應(yīng)用等從移動(dòng)終端啟動(dòng)至當(dāng)前時(shí)刻使用cpu的累計(jì)時(shí)間等;內(nèi)存資源對(duì)應(yīng)的預(yù)設(shè)文件中可記錄有在不同時(shí)刻內(nèi)存被占用的大小,以及各個(gè)不同的進(jìn)程或應(yīng)用等占用的內(nèi)存大小等,但不限于此。
可選地,移動(dòng)終端可從預(yù)設(shè)文件中讀取進(jìn)入后臺(tái)運(yùn)行的應(yīng)用使用的各個(gè)資源種類(lèi)的活動(dòng)數(shù)據(jù),并根據(jù)活動(dòng)數(shù)據(jù)計(jì)算該應(yīng)用使用的各個(gè)資源種類(lèi)當(dāng)前未被占用的比例。例如,移動(dòng)終端可按照預(yù)設(shè)的采集周期從/proc目錄下的/proc/stat文件中讀取cpu從移動(dòng)終端啟動(dòng)至當(dāng)前時(shí)刻的累計(jì)工作時(shí)間。移動(dòng)終端可記錄每一次讀取的cpu的累計(jì)工作時(shí)間,并計(jì)算本次記錄的cpu的累計(jì)工作時(shí)間與上一次記錄的cpu的累計(jì)工作時(shí)間之間的差值,得到采集周期內(nèi)cpu的真正工作時(shí)間。移動(dòng)終端可確定采集周期內(nèi)cpu的真正工作時(shí)間與采集周期的比值,該比值即為cpu的總占用率等,可根據(jù)cpu的總占用率得到cpu的空閑率,cpu的空間率即為cpu未被占用的比例。移動(dòng)終端也可每隔一定時(shí)間段從與內(nèi)存對(duì)應(yīng)的預(yù)設(shè)文件中讀取內(nèi)存當(dāng)前被占用的大小,并根據(jù)內(nèi)存當(dāng)前被占用的大小確定當(dāng)前內(nèi)存的占用比例,從而得到內(nèi)存當(dāng)前未被占用的比例。
步驟404,若資源種類(lèi)當(dāng)前未被占用的比例小于預(yù)設(shè)閾值,則根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在資源種類(lèi)下的資源限制等級(jí)。
移動(dòng)終端可將進(jìn)入后臺(tái)運(yùn)行的應(yīng)用使用的各個(gè)資源種類(lèi)當(dāng)前未被占用的比例與預(yù)設(shè)閾值進(jìn)行比較,若資源種類(lèi)當(dāng)前未被占用的比例小于預(yù)設(shè)閾值,可說(shuō)明該資源種類(lèi)處于繁忙狀態(tài),移動(dòng)終端可對(duì)后臺(tái)運(yùn)行的應(yīng)用在該資源種類(lèi)的使用進(jìn)行限制。移動(dòng)終端可根據(jù)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用在該資源種類(lèi)的占用比例確定在該資源種類(lèi)下的資源限制等級(jí)。若資源種類(lèi)當(dāng)前未被占用的比例大于或等于預(yù)設(shè)閾值,可說(shuō)明該資源種類(lèi)處于較空閑的狀態(tài),可不對(duì)后臺(tái)運(yùn)行的應(yīng)用進(jìn)行資源使用限制??蛇x地,預(yù)設(shè)閾值可根據(jù)實(shí)際需求進(jìn)行設(shè)定,不同資源種類(lèi)可對(duì)應(yīng)不同的預(yù)設(shè)閾值,例如,cpu資源對(duì)應(yīng)的預(yù)設(shè)閾值可以是40%,網(wǎng)絡(luò)資源對(duì)應(yīng)的預(yù)設(shè)閾值可以是30%等,但不限于此。
在一個(gè)實(shí)施例中,若資源種類(lèi)當(dāng)前未被占用的比例大于或等于預(yù)設(shè)閾值,移動(dòng)終端可檢測(cè)是否有前臺(tái)應(yīng)用在運(yùn)行,若有前臺(tái)應(yīng)用在運(yùn)行,則可根據(jù)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用的資源使用數(shù)據(jù)確定該應(yīng)用在該資源種類(lèi)下的資源限制等級(jí)。可以最大限度地保證前臺(tái)應(yīng)用的資源使用,減少出現(xiàn)后臺(tái)應(yīng)用與前臺(tái)應(yīng)用搶占資源導(dǎo)致卡頓等情況。
在本實(shí)施例中,當(dāng)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用使用的資源種類(lèi)當(dāng)前未被占用的比例小于預(yù)設(shè)閾值,則根據(jù)該應(yīng)用的資源使用數(shù)據(jù)確定該應(yīng)用在該資源種類(lèi)下的資源限制等級(jí),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)在不同資源種類(lèi)下不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
如圖5所示,在一個(gè)實(shí)施例中,步驟將應(yīng)用分配到資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中,包括以下步驟:
步驟502,獲取應(yīng)用的用戶(hù)組信息。
進(jìn)程是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。移動(dòng)終端上通??蛇\(yùn)行有多個(gè)進(jìn)程,不同的進(jìn)程可用于分別執(zhí)行不同的任務(wù)。應(yīng)用程序進(jìn)行運(yùn)行時(shí),移動(dòng)終端可為運(yùn)行的應(yīng)用程序分配不同的用戶(hù)組,可通過(guò)用戶(hù)組管理應(yīng)用程序的權(quán)限等。移動(dòng)終端將進(jìn)入后臺(tái)運(yùn)行的應(yīng)用分配到使用的資源種類(lèi)下與確定的資源限制等級(jí)對(duì)應(yīng)的資源組別,可獲取該應(yīng)用的應(yīng)用標(biāo)識(shí),并根據(jù)應(yīng)用標(biāo)識(shí)獲取該應(yīng)用的用戶(hù)組信息,其中,應(yīng)用標(biāo)識(shí)可以由數(shù)字、字母及符號(hào)等中的一種或多種組成。用戶(hù)組信息可包括用戶(hù)組標(biāo)識(shí)等,其中,用戶(hù)組標(biāo)識(shí)可以由數(shù)字、字母及符號(hào)等中的一種或多種組成。
步驟504,查詢(xún)與用戶(hù)組信息具備映射關(guān)系的進(jìn)程標(biāo)識(shí)。
移動(dòng)終端可根據(jù)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用的用戶(hù)組信息查詢(xún)與用戶(hù)組信息具備映射關(guān)系的進(jìn)程標(biāo)識(shí),從而得到該應(yīng)用下運(yùn)行的各個(gè)進(jìn)程。移動(dòng)終端的內(nèi)核空間層可實(shí)時(shí)對(duì)進(jìn)程所屬的用戶(hù)組信息進(jìn)行收集,當(dāng)進(jìn)程創(chuàng)建或銷(xiāo)毀時(shí),內(nèi)核可對(duì)進(jìn)程所屬的用戶(hù)組信息進(jìn)行分配及釋放等,進(jìn)程在運(yùn)行的過(guò)程中,也可以發(fā)生用戶(hù)組信息改變的情況。內(nèi)核空間層實(shí)時(shí)對(duì)各個(gè)進(jìn)程所屬的用戶(hù)組信息進(jìn)行收集,并可建立進(jìn)程標(biāo)識(shí)、進(jìn)程名稱(chēng)等進(jìn)程信息與用戶(hù)組信息的映射關(guān)系。當(dāng)移動(dòng)終端需要將應(yīng)用分配到與資源種類(lèi)下與確定的資源限制等級(jí)對(duì)應(yīng)的資源組別時(shí),可根據(jù)該應(yīng)用的用戶(hù)組信息直接查詢(xún)具備映射關(guān)系的進(jìn)程標(biāo)識(shí),相比起遍歷所有運(yùn)行的進(jìn)程從而找到應(yīng)用下運(yùn)行的進(jìn)程,直接查找與用戶(hù)組信息具備映射關(guān)系的進(jìn)程標(biāo)識(shí)更加方便快捷。
步驟506,將與進(jìn)程標(biāo)識(shí)匹配的后臺(tái)進(jìn)程分配到資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中。
移動(dòng)終端根據(jù)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用的用戶(hù)組信息查詢(xún)到具備映射關(guān)系的進(jìn)程標(biāo)識(shí)后,可根據(jù)進(jìn)程標(biāo)識(shí)獲取該應(yīng)用下運(yùn)行的所有進(jìn)程。移動(dòng)終端可將該應(yīng)用下運(yùn)行的所有進(jìn)程分配到與使用的資源種類(lèi)下與確定的資源限制等級(jí)對(duì)應(yīng)的資源組別中,并對(duì)該應(yīng)用下運(yùn)行的所有進(jìn)程配置與確定的資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí),從而可實(shí)現(xiàn)配置該應(yīng)用為與確定的資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)的目的。
在本實(shí)施例中,可根據(jù)應(yīng)用的用戶(hù)組信息查找到具有映射關(guān)系的進(jìn)程標(biāo)識(shí),并將與進(jìn)程標(biāo)識(shí)匹配的后臺(tái)進(jìn)程添加到與使用的資源種類(lèi)下與確定的資源限制等級(jí)對(duì)應(yīng)的資源組別中,可按照資源限制等級(jí)對(duì)后臺(tái)應(yīng)用下運(yùn)行的各個(gè)進(jìn)程進(jìn)行統(tǒng)一的資源使用管理,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
如圖6所示,在一個(gè)實(shí)施例中,上述資源管理方法,還包括以下步驟:
步驟602,獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程。
當(dāng)有前臺(tái)應(yīng)用運(yùn)行時(shí),移動(dòng)終端可獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程,可選地,移動(dòng)終端可通過(guò)活動(dòng)管理器的runningappprocessinfo類(lèi)獲取正在運(yùn)行的所有進(jìn)程列表,并從進(jìn)程列表中獲取運(yùn)行狀態(tài)為前臺(tái)運(yùn)行的進(jìn)程,即可確定該運(yùn)行狀態(tài)為前臺(tái)運(yùn)行的進(jìn)程為前臺(tái)進(jìn)程。
步驟604,當(dāng)存在與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程時(shí),降低具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí)。
移動(dòng)終端獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程后,可檢測(cè)是否存在與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程,具備依賴(lài)關(guān)系指的是一個(gè)進(jìn)程需要等待另一個(gè)進(jìn)程的消息才可正常執(zhí)行,則兩個(gè)進(jìn)程間存在依賴(lài)關(guān)系??蛇x地,移動(dòng)終端可預(yù)先記錄具備有依賴(lài)關(guān)系的進(jìn)程標(biāo)識(shí),可獲取前臺(tái)進(jìn)程的進(jìn)程標(biāo)識(shí),并根據(jù)該前臺(tái)進(jìn)程的進(jìn)程標(biāo)識(shí)獲取與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的進(jìn)程標(biāo)識(shí)。移動(dòng)終端可根據(jù)與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的進(jìn)程標(biāo)識(shí)逐一對(duì)后臺(tái)運(yùn)行的各個(gè)進(jìn)程進(jìn)行檢測(cè),確定是否存在與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。
移動(dòng)終端可降低與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí),提高該具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源使用優(yōu)先級(jí)。可選地,移動(dòng)終端可將與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí)調(diào)整為與前臺(tái)進(jìn)程相同的資源限制等配,可將具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程分配至與前臺(tái)進(jìn)程相同的資源組別中,并配置與前臺(tái)進(jìn)程相同的資源使用優(yōu)先級(jí)。提高與前臺(tái)運(yùn)行的進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源使用優(yōu)先級(jí),可加快與前臺(tái)運(yùn)行的進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的任務(wù)執(zhí)行,從而減少前臺(tái)運(yùn)行的進(jìn)程的等待時(shí)間,加快前臺(tái)進(jìn)程的運(yùn)行。
在一個(gè)實(shí)施例中,移動(dòng)終端可檢測(cè)是否存在與前臺(tái)進(jìn)程存在交互通信的后臺(tái)進(jìn)程,可將與前臺(tái)進(jìn)程存在交互通信的后臺(tái)進(jìn)程確定為與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。可選地,進(jìn)程間的交互通信可包括同步機(jī)制和/或通信機(jī)制等,其中,同步機(jī)制可指的是兩個(gè)進(jìn)程相互協(xié)調(diào)共同完成任務(wù),通信機(jī)制指的是在不同的進(jìn)程之間進(jìn)行傳播或交換信息。
在一個(gè)實(shí)施例中,移動(dòng)終端可檢測(cè)是否存在與前臺(tái)進(jìn)程具有通信機(jī)制的后臺(tái)進(jìn)程,并可將與前臺(tái)進(jìn)程具有通信機(jī)制的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。通信機(jī)制可包括socket、binder、共享內(nèi)存等,其中,網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)連接的一端稱(chēng)為一個(gè)socket;binder是一種進(jìn)程間通信機(jī)制,提供遠(yuǎn)程過(guò)程調(diào)用功能;共享內(nèi)存就是允許兩個(gè)不相關(guān)的進(jìn)程訪(fǎng)問(wèn)同一個(gè)邏輯內(nèi)存,共享內(nèi)存是在兩個(gè)正在運(yùn)行的進(jìn)程之間共享和傳遞數(shù)據(jù)的一種非常有效的方式,不同進(jìn)程之間共享的內(nèi)存通常安排為同一段物理內(nèi)存??蛇x地,移動(dòng)終端可檢測(cè)是否存在與前臺(tái)運(yùn)行的進(jìn)程具有socket和/或binder通信的后臺(tái)進(jìn)程,并可將與前臺(tái)運(yùn)行的進(jìn)程具有socket和/或binder通信的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。移動(dòng)終端也可以檢測(cè)是否存在與前臺(tái)運(yùn)行的進(jìn)程進(jìn)行內(nèi)存共享的后臺(tái)進(jìn)程,并可將與前臺(tái)運(yùn)行的進(jìn)程進(jìn)行內(nèi)存共享的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。在一個(gè)實(shí)施例中,移動(dòng)終端可在binder驅(qū)動(dòng)中添加檢測(cè)機(jī)制,并根據(jù)binder驅(qū)動(dòng)中添加的檢測(cè)機(jī)制檢測(cè)是否存在與前臺(tái)進(jìn)程具有通信機(jī)制的后臺(tái)進(jìn)程。
在一個(gè)實(shí)施例中,移動(dòng)終端可檢測(cè)是否存在與前臺(tái)進(jìn)程具有同步機(jī)制的后臺(tái)進(jìn)程,并可將與前臺(tái)進(jìn)程具有同步機(jī)制的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。同步機(jī)制可包括信號(hào)量、互斥鎖等,其中,信號(hào)量(semaphore)的數(shù)據(jù)結(jié)構(gòu)為一個(gè)值和一個(gè)指針,指針指向等待該信號(hào)量的下一個(gè)進(jìn)程,互斥鎖可用于保證共享數(shù)據(jù)的完整性,任意時(shí)刻只有一個(gè)進(jìn)程可訪(fǎng)問(wèn)上具備有互斥鎖的對(duì)象。可選地,移動(dòng)終端可通過(guò)futex(fastuserspacemutex,快速用戶(hù)空間互斥體)系統(tǒng)的調(diào)用檢測(cè)是否存在與前臺(tái)進(jìn)程具有同步機(jī)制的后臺(tái)進(jìn)程。futex系統(tǒng)的調(diào)用可用于實(shí)現(xiàn)進(jìn)程間的同步機(jī)制,在用戶(hù)空間中進(jìn)行操作,是一種用戶(hù)態(tài)(usermode)和內(nèi)核態(tài)混合機(jī)制,其中,用戶(hù)態(tài)指的是非特權(quán)狀態(tài)。
在一個(gè)實(shí)施例中,當(dāng)移動(dòng)終端檢測(cè)到前臺(tái)進(jìn)程發(fā)生鎖等待行為時(shí),可確定前臺(tái)進(jìn)程等待的鎖資源。鎖資源可包括線(xiàn)程鎖、文件句柄、信號(hào)等,其中,文件句柄指的是從文件讀取數(shù)據(jù)時(shí),操作系統(tǒng)函數(shù)取回的順序號(hào),從而能夠打開(kāi)文件,文件句柄對(duì)于打開(kāi)的文件是唯一的識(shí)別依據(jù)。移動(dòng)終端可遍歷所有在后臺(tái)運(yùn)行的進(jìn)程,并檢測(cè)是否存在等待在與前臺(tái)進(jìn)程同一鎖資源的后臺(tái)進(jìn)程,可將與前臺(tái)進(jìn)程等待在同一鎖資源的后臺(tái)進(jìn)程確定為具有依賴(lài)關(guān)系的后臺(tái)進(jìn)程。
在一個(gè)實(shí)施例中,移動(dòng)終端可檢測(cè)與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程,是否結(jié)束該依賴(lài)關(guān)系。比如,移動(dòng)終端可檢測(cè)后臺(tái)進(jìn)程是否結(jié)束與前臺(tái)運(yùn)行的進(jìn)程的socket和/或binder通信,若結(jié)束通信,則可判定結(jié)束依賴(lài)關(guān)系。移動(dòng)終端也可以檢測(cè)與前臺(tái)運(yùn)行的進(jìn)程等待在同一鎖資源的后臺(tái)進(jìn)程是否完成任務(wù),若任務(wù)完成,則可判斷結(jié)束依賴(lài)關(guān)系,但不限于此。移動(dòng)終端可將結(jié)束依賴(lài)關(guān)系的后臺(tái)進(jìn)程恢復(fù)到降低之前的資源限制等級(jí),重新對(duì)后臺(tái)進(jìn)程的資源使用進(jìn)行限制。
在本實(shí)施例中,可降低與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí),保證前臺(tái)進(jìn)程能夠及時(shí)得到響應(yīng),防止因后臺(tái)進(jìn)程的資源使用受到限制而使前臺(tái)進(jìn)程進(jìn)入等待,在降低功耗的同時(shí)提高前臺(tái)的運(yùn)行速度。
在一個(gè)實(shí)施例中,提供一種資源管理方法,包括以下步驟:
步驟(1),當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),獲取應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù)。
步驟(2),根據(jù)資源使用數(shù)據(jù)獲取應(yīng)用使用的資源種類(lèi)。
步驟(3),根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在資源種類(lèi)下的資源限制等級(jí)。
可選地,步驟(3),包括:獲取應(yīng)用使用的資源種類(lèi)當(dāng)前未被占用的比例;若資源種類(lèi)當(dāng)前未被占用的比例小于預(yù)設(shè)閾值,則根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在資源種類(lèi)下的資源限制等級(jí)。
步驟(4),將應(yīng)用分配到資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。
可選地,步驟(4),包括:獲取應(yīng)用的用戶(hù)組信息;查詢(xún)與用戶(hù)組信息具備映射關(guān)系的進(jìn)程標(biāo)識(shí);將與進(jìn)程標(biāo)識(shí)匹配的后臺(tái)進(jìn)程分配到資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中。
可選地,上述資源管理方法,還包括:獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程;當(dāng)存在與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程時(shí),降低具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí)。
可選地,在獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程之后,還包括:當(dāng)后臺(tái)進(jìn)程與前臺(tái)進(jìn)程具備同步機(jī)制和/或通信機(jī)制時(shí),將具備同步機(jī)制和/或通信機(jī)制的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。
可選地,在獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程之后,還包括:當(dāng)檢測(cè)到前臺(tái)進(jìn)程發(fā)生鎖等待行為時(shí),確定等待的鎖資源;若存在等待在所述鎖資源的后臺(tái)進(jìn)程,則將等待在所述鎖資源的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。
可選地,在降低所述具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí)之后,還包括:當(dāng)前臺(tái)進(jìn)程結(jié)束與后臺(tái)進(jìn)程的依賴(lài)關(guān)系時(shí),恢復(fù)結(jié)束依賴(lài)關(guān)系的后臺(tái)進(jìn)程在降低之前的資源限制等級(jí)。
在本實(shí)施例中,當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),可獲取該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù),根據(jù)資源使用數(shù)據(jù)確定應(yīng)用使用的資源種類(lèi)及資源種類(lèi)下的資源限制等級(jí),并將應(yīng)用分配到使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源配置中,配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)在不同資源種類(lèi)下不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
應(yīng)該理解的是,上述的流程示意圖中的各個(gè)步驟按照箭頭的指示依次顯示,但是這些步驟并不是必然按照箭頭指示的順序依次執(zhí)行。除非本文中有明確的說(shuō)明,這些步驟的執(zhí)行并沒(méi)有嚴(yán)格的順序限制,這些步驟可以以其它的順序執(zhí)行。而且,上述的流程示意圖中的至少一部分步驟可以包括多個(gè)子步驟或者多個(gè)階段,這些子步驟或者階段并不必然是在同一時(shí)刻執(zhí)行完成,而是可以在不同的時(shí)刻執(zhí)行,這些子步驟或者階段的執(zhí)行順序也不必然是依次進(jìn)行,而是可以與其它步驟或者其它步驟的子步驟或者階段的至少一部分輪流或者交替地執(zhí)行。
如圖7所示,在一個(gè)實(shí)施例中,提供一種資源管理裝置700,包括數(shù)據(jù)獲取模塊710、種類(lèi)獲取模塊720、等級(jí)確定模塊730及配置模塊740。
數(shù)據(jù)獲取模塊710,用于當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),獲取應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù)。
種類(lèi)獲取模塊720,用于根據(jù)資源使用數(shù)據(jù)獲取應(yīng)用使用的資源種類(lèi)。
等級(jí)確定模塊730,用于根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在所述資源種類(lèi)下的資源限制等級(jí)。
配置模塊740,用于將應(yīng)用分配到所述資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。
在本實(shí)施例中,當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),可獲取該應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù),根據(jù)資源使用數(shù)據(jù)確定應(yīng)用使用的資源種類(lèi)及資源種類(lèi)下的資源限制等級(jí),并將應(yīng)用分配到使用的資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源配置中,配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)在不同資源種類(lèi)下不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
如圖8所示,在一個(gè)實(shí)施例中,等級(jí)確定模塊730,包括比例獲取單元732及確定單元734。
比例獲取單元732,用于獲取應(yīng)用使用的資源種類(lèi)當(dāng)前未被占用的比例。
確定單元734,用于若資源種類(lèi)當(dāng)前未被占用的比例小于預(yù)設(shè)閾值,則根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在所述資源種類(lèi)下的資源限制等級(jí)。
在本實(shí)施例中,當(dāng)進(jìn)入后臺(tái)運(yùn)行的應(yīng)用使用的資源種類(lèi)當(dāng)前未被占用的比例小于預(yù)設(shè)閾值,則根據(jù)該應(yīng)用的資源使用數(shù)據(jù)確定該應(yīng)用在該資源種類(lèi)下的資源限制等級(jí),可以對(duì)后臺(tái)應(yīng)用動(dòng)態(tài)實(shí)現(xiàn)在不同資源種類(lèi)下不同等級(jí)的資源限制,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
如圖9所示,在一個(gè)實(shí)施例中,配置模塊740,包括信息獲取單元742、查詢(xún)單元744及分配單元746。
信息獲取單元742,用于獲取應(yīng)用的用戶(hù)組信息。
查詢(xún)單元744,用于查詢(xún)與用戶(hù)組信息具備映射關(guān)系的進(jìn)程標(biāo)識(shí)。
分配單元746,用于將與進(jìn)程標(biāo)識(shí)匹配的后臺(tái)進(jìn)程分配到資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中。
在本實(shí)施例中,可根據(jù)應(yīng)用的用戶(hù)組信息查找到具有映射關(guān)系的進(jìn)程標(biāo)識(shí),并將與進(jìn)程標(biāo)識(shí)匹配的后臺(tái)進(jìn)程添加到與使用的資源種類(lèi)下與確定的資源限制等級(jí)對(duì)應(yīng)的資源組別中,可按照資源限制等級(jí)對(duì)后臺(tái)應(yīng)用下運(yùn)行的各個(gè)進(jìn)程進(jìn)行統(tǒng)一的資源使用管理,優(yōu)化系統(tǒng)性能,節(jié)省功耗。
在一個(gè)實(shí)施例中,上述資源管理裝置700,除了包括數(shù)據(jù)獲取模塊710、種類(lèi)獲取模塊720、等級(jí)確定模塊730及配置模塊740,還包括進(jìn)程獲取模塊。
進(jìn)程獲取模塊,用于獲取在前臺(tái)運(yùn)行的前臺(tái)進(jìn)程。
配置模塊740,還用于當(dāng)存在與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程時(shí),降低具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí)。
可選地,上述資源管理裝置700,還包括依賴(lài)關(guān)系確定模塊。
依賴(lài)關(guān)系確定模塊,用于當(dāng)后臺(tái)進(jìn)程與所述前臺(tái)進(jìn)程具備同步機(jī)制和/或通信機(jī)制時(shí),將具備同步機(jī)制和/或通信機(jī)制的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。
可選地,依賴(lài)關(guān)系確定模塊,還用于當(dāng)檢測(cè)到前臺(tái)進(jìn)程發(fā)生鎖等待行為時(shí),確定等待的鎖資源,若存在等待在鎖資源的后臺(tái)進(jìn)程,則將等待在鎖資源的后臺(tái)進(jìn)程確定為具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程。
可選地,配置模塊740,還用于當(dāng)前臺(tái)進(jìn)程結(jié)束與后臺(tái)進(jìn)程的依賴(lài)關(guān)系時(shí),恢復(fù)結(jié)束依賴(lài)關(guān)系的后臺(tái)進(jìn)程在降低之前的資源限制等級(jí)。
在本實(shí)施例中,可降低與前臺(tái)進(jìn)程具備依賴(lài)關(guān)系的后臺(tái)進(jìn)程的資源限制等級(jí),保證前臺(tái)進(jìn)程能夠及時(shí)得到響應(yīng),防止因后臺(tái)進(jìn)程的資源使用受到限制而使前臺(tái)進(jìn)程進(jìn)入等待,在降低功耗的同時(shí)提高前臺(tái)的運(yùn)行速度。
圖10為與本申請(qǐng)實(shí)施例提供的移動(dòng)終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖10,手機(jī)包括:射頻(radiofrequency,rf)電路1010、存儲(chǔ)器1020、輸入單元1030、顯示單元1040、傳感器1050、音頻電路1060、無(wú)線(xiàn)保真(wirelessfidelity,wifi)模塊1070、處理器1080、以及電源1090等部件。本領(lǐng)域技術(shù)人員可以理解,圖10所示的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
其中,rf電路1010可用于收發(fā)信息或通話(huà)過(guò)程中,信號(hào)的接收和發(fā)送,可將基站的下行信息接收后,給處理器1080處理;也可以將上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路包括但不限于天線(xiàn)、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(lownoiseamplifier,lna)、雙工器等。此外,rf電路1010還可以通過(guò)無(wú)線(xiàn)通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無(wú)線(xiàn)通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于gsm、gprs、碼分多址(codedivisionmultipleaccess,cdma)、w-cdma、長(zhǎng)期演進(jìn)(longtermevolution,lte)、電子郵件、短消息服務(wù)(shortmessagingservice,sms)等。
存儲(chǔ)器1020可用于存儲(chǔ)軟件程序以及模塊,處理器1080通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器1020的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器1020可主要包括程序存儲(chǔ)區(qū)和數(shù)據(jù)存儲(chǔ)區(qū),其中,程序存儲(chǔ)區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能的應(yīng)用程序、圖像播放功能的應(yīng)用程序等)等;數(shù)據(jù)存儲(chǔ)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、通訊錄等)等。此外,存儲(chǔ)器1020可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
輸入單元1030可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)1000的用戶(hù)設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元1030可包括觸控面板1032以及其他輸入設(shè)備1034。觸控面板1032,也可稱(chēng)為觸摸屏,可收集用戶(hù)在其上或附近的觸摸操作(比如用戶(hù)使用手指、觸筆等任何適合的物體或附件在觸控面板1032上或在觸控面板1032附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置。在一個(gè)實(shí)施例中,觸控面板1032可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶(hù)的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器1080,并能接收處理器1080發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線(xiàn)以及表面聲波等多種類(lèi)型實(shí)現(xiàn)觸控面板1032。除了觸控面板1032,輸入單元1030還可以包括其他輸入設(shè)備1034。具體地,其他輸入設(shè)備1034可以包括但不限于物理鍵盤(pán)、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)等中的一種或多種。
顯示單元1040可用于顯示由用戶(hù)輸入的信息或提供給用戶(hù)的信息以及手機(jī)的各種菜單。顯示單元1040可包括顯示面板1042。在一個(gè)實(shí)施例中,可以采用液晶顯示器(liquidcrystaldisplay,lcd)、有機(jī)發(fā)光二極管(organiclight-emittingdiode,oled)等形式來(lái)配置顯示面板1042。在一個(gè)實(shí)施例中,觸控面板1032可覆蓋顯示面板1042,當(dāng)觸控面板1032檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器1080以確定觸摸事件的類(lèi)型,隨后處理器1080根據(jù)觸摸事件的類(lèi)型在顯示面板1042上提供相應(yīng)的視覺(jué)輸出。雖然在圖10中,觸控面板1032與顯示面板1042是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板1032與顯示面板1042集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)1000還可包括至少一種傳感器1050,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線(xiàn)的明暗來(lái)調(diào)節(jié)顯示面板1042的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板1042和/或背光。運(yùn)動(dòng)傳感器可包括加速度傳感器,通過(guò)加速度傳感器可檢測(cè)各個(gè)方向上加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換)、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;此外,手機(jī)還可配置陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線(xiàn)傳感器等其他傳感器等。
音頻電路1060、揚(yáng)聲器1062和傳聲器1064可提供用戶(hù)與手機(jī)之間的音頻接口。音頻電路1060可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器1062,由揚(yáng)聲器1062轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器1064將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路1060接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器1080處理后,經(jīng)rf電路1010可以發(fā)送給另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器1020以便后續(xù)處理。
wifi屬于短距離無(wú)線(xiàn)傳輸技術(shù),手機(jī)通過(guò)wifi模塊1070可以幫助用戶(hù)收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪(fǎng)問(wèn)流式媒體等,它為用戶(hù)提供了無(wú)線(xiàn)的寬帶互聯(lián)網(wǎng)訪(fǎng)問(wèn)。雖然圖10示出了wifi模塊1070,但是可以理解的是,其并不屬于手機(jī)1000的必須構(gòu)成,可以根據(jù)需要而省略。
處理器1080是手機(jī)的控制中心,利用各種接口和線(xiàn)路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器1020內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器1020內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控。在一個(gè)實(shí)施例中,處理器1080可包括一個(gè)或多個(gè)處理單元。在一個(gè)實(shí)施例中,處理器1080可集成應(yīng)用處理器和調(diào)制解調(diào)器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序等;調(diào)制解調(diào)器主要處理無(wú)線(xiàn)通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)器也可以不集成到處理器1080中。比如,該處理器1080可集成應(yīng)用處理器和基帶處理器,基帶處理器與和其它外圍芯片等可組成調(diào)制解調(diào)器。手機(jī)1000還包括給各個(gè)部件供電的電源1090(比如電池),優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器1080邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
在一個(gè)實(shí)施例中,手機(jī)1000還可以包括攝像頭、藍(lán)牙模塊等。
在本申請(qǐng)實(shí)施例中,該移動(dòng)終端所包括的處理器880執(zhí)行存儲(chǔ)在存儲(chǔ)器上的計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述的資源管理方法。
在一個(gè)實(shí)施例中,該移動(dòng)終端可包括存儲(chǔ)器1020及處理器1080,存儲(chǔ)器1020中存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器1080執(zhí)行時(shí),使得處理器執(zhí)行如下步驟:
當(dāng)檢測(cè)到應(yīng)用進(jìn)入后臺(tái)運(yùn)行時(shí),獲取應(yīng)用在預(yù)設(shè)時(shí)間段內(nèi)在后臺(tái)運(yùn)行時(shí)的資源使用數(shù)據(jù);
根據(jù)資源使用數(shù)據(jù)獲取應(yīng)用使用的資源種類(lèi);
根據(jù)資源使用數(shù)據(jù)確定應(yīng)用在資源種類(lèi)下的資源限制等級(jí);
將應(yīng)用分配到所述資源種類(lèi)下與資源限制等級(jí)對(duì)應(yīng)的資源組別中,并配置與資源限制等級(jí)對(duì)應(yīng)的資源使用優(yōu)先級(jí)。
在一個(gè)實(shí)施例中,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的資源管理方法。
在一個(gè)實(shí)施例中,提供一種包含計(jì)算機(jī)程序的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)設(shè)備上運(yùn)行時(shí),使得計(jì)算機(jī)設(shè)備執(zhí)行時(shí)實(shí)現(xiàn)上述的資源管理方法。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一非易失性計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(read-onlymemory,rom)等。
如此處所使用的對(duì)存儲(chǔ)器、存儲(chǔ)、數(shù)據(jù)庫(kù)或其它介質(zhì)的任何引用可包括非易失性和/或易失性存儲(chǔ)器。合適的非易失性存儲(chǔ)器可包括只讀存儲(chǔ)器(rom)、可編程rom(prom)、電可編程rom(eprom)、電可擦除可編程rom(eeprom)或閃存。易失性存儲(chǔ)器可包括隨機(jī)存取存儲(chǔ)器(ram),它用作外部高速緩沖存儲(chǔ)器。作為說(shuō)明而非局限,ram以多種形式可得,諸如靜態(tài)ram(sram)、動(dòng)態(tài)ram(dram)、同步dram(sdram)、雙數(shù)據(jù)率sdram(ddrsdram)、增強(qiáng)型sdram(esdram)、同步鏈路(synchlink)dram(sldram)、存儲(chǔ)器總線(xiàn)(rambus)直接ram(rdram)、直接存儲(chǔ)器總線(xiàn)動(dòng)態(tài)ram(drdram)、以及存儲(chǔ)器總線(xiàn)動(dòng)態(tài)ram(rdram)。
以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
以上所述實(shí)施例僅表達(dá)了本申請(qǐng)的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本申請(qǐng)的保護(hù)范圍。因此,本申請(qǐng)專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。