本發(fā)明涉及信息管理技術(shù),尤其涉及一種管理應(yīng)用程序的方法、裝置及電子設(shè)備。
背景技術(shù):
隨著計(jì)算機(jī)通信以及互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,電子設(shè)備,例如,智能移動(dòng)電話、個(gè)人數(shù)字助理、掌上電腦、筆記本電腦等應(yīng)用越來(lái)越廣泛,安裝的應(yīng)用程序(App,Application)也越來(lái)越多,提供的應(yīng)用功能也越來(lái)越豐富,極大地滿足了不同用戶的個(gè)性化需求。隨著安裝的應(yīng)用程序的不斷增多,各應(yīng)用程序在運(yùn)行過(guò)程中耗費(fèi)電子設(shè)備的電量以及內(nèi)存資源等也越來(lái)越多,但電子設(shè)備的電池、CPU和內(nèi)存資源一般較為有限。因而,當(dāng)應(yīng)用程序的進(jìn)程常駐后臺(tái)一直運(yùn)行時(shí),且隨著電子設(shè)備的長(zhǎng)時(shí)間使用,后臺(tái)的常駐進(jìn)程越來(lái)越多,耗費(fèi)的電量、CPU占用率以及內(nèi)存資源消耗也越來(lái)越多,使得電子設(shè)備電池續(xù)航能力急速下降,同時(shí),電子設(shè)備的運(yùn)行速度也越來(lái)越慢,甚至出現(xiàn)發(fā)熱、卡機(jī)或無(wú)響應(yīng)的情況。
為了對(duì)應(yīng)用程序進(jìn)行有效的管理,避免電子設(shè)備運(yùn)行速度的急劇下降以及續(xù)航時(shí)間的縮短,現(xiàn)有技術(shù)中,對(duì)于一些無(wú)需后臺(tái)運(yùn)行的應(yīng)用程序,即判斷后臺(tái)應(yīng)用程序的進(jìn)程或者服務(wù)屬于非必要運(yùn)行進(jìn)程或者服務(wù)時(shí),再判斷后臺(tái)運(yùn)行的應(yīng)用程序?qū)?yīng)的應(yīng)用程序包名是否存在強(qiáng)制停止(forcestop)標(biāo)記,如果存在該強(qiáng)制停止標(biāo)記,表明該應(yīng)用程序的進(jìn)程或者服務(wù)已被強(qiáng)制停止,如果不存在該強(qiáng)制停止標(biāo)記,則執(zhí)行強(qiáng)制停止包(forceStopPackage)方法,以停止該應(yīng)用程序的進(jìn)程,并在停止其進(jìn)程后,為對(duì)應(yīng)的應(yīng)用程序包名設(shè)置強(qiáng)制停止標(biāo)記。
但該管理應(yīng)用程序的方法,某些應(yīng)用程序?yàn)榱四軌蚪?jīng)?;钴S于后臺(tái)以獲取更多的資源和利益,例如,聯(lián)網(wǎng)下載、推送廣告等,會(huì)利用各種機(jī)制,例如,在應(yīng)用程序運(yùn)行在后臺(tái)時(shí),通過(guò)一些注入腳本的方法,為自身對(duì)應(yīng)的應(yīng)用程序包名設(shè)置強(qiáng)制停止標(biāo)記。這樣,使得安全管理應(yīng)用程序在判斷該應(yīng)用程序的進(jìn)程或者服務(wù)屬于非必要運(yùn)行進(jìn)程或者服務(wù)后,由于對(duì)應(yīng)的應(yīng)用程序包名已存在強(qiáng)制停止標(biāo)記,因而,認(rèn)為是已被停止進(jìn)程的應(yīng)用程序,從而不執(zhí)行強(qiáng)制停止包方法,導(dǎo)致該應(yīng)用程序在后臺(tái)一直活躍,從而消耗電量,降低電子設(shè)備的續(xù)航時(shí)間,也使得電子設(shè)備的應(yīng)用程序管理效率較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種管理應(yīng)用程序的方法、裝置及電子設(shè)備,能夠提升電子設(shè)備的續(xù)航時(shí)間、提高應(yīng)用程序的管理效率,以解決現(xiàn)有的管理應(yīng)用程序的方法中,在電子設(shè)備鎖屏之后頻繁對(duì)自身應(yīng)用程序進(jìn)行喚醒,導(dǎo)致電子設(shè)備續(xù)航時(shí)間短、應(yīng)用程序管理效率較低的問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供一種管理應(yīng)用程序的方法,包括:
獲取目標(biāo)應(yīng)用程序包名;
判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,如果存在,刪除所述強(qiáng)制停止標(biāo)記;
調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理,以使所述應(yīng)用程序包名重新獲取強(qiáng)制停止標(biāo)記。
結(jié)合第一方面,在第一方面的第一種實(shí)施方式中,所述獲取目標(biāo)應(yīng)用程序包名包括:
讀取系統(tǒng)的活躍應(yīng)用程序包名列表,根據(jù)所述活躍應(yīng)用程序包名列表中的應(yīng)用程序包名活躍度從高到低的順序枚舉需要處理的目標(biāo)應(yīng)用程序包名。
結(jié)合第一方面,在第一方面的第二種實(shí)施方式中,所述判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,之前:
判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,如果符合處置策略,則執(zhí)行所述判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記。
結(jié)合第一方面的第二種實(shí)施方式,在第一方面的第三種實(shí)施方式中,所述判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,包括:
判斷目標(biāo)應(yīng)用程序包名包含在黑名單中,或者
判斷目標(biāo)應(yīng)用程序包名不包含在白名單中,則符合處置策略。
結(jié)合第一方面,在第一方面的第四種實(shí)施方式中,所述刪除所述強(qiáng)制停止標(biāo)記,包括:
啟動(dòng)所述目標(biāo)應(yīng)用程序,以使強(qiáng)制停止標(biāo)記被自動(dòng)刪除。
結(jié)合第一方面,在第一方面的第五種實(shí)施方式中,在所述刪除所述強(qiáng)制停止標(biāo)記之后,調(diào)用強(qiáng)制停止包方法之前,所述方法還包括:
判斷所述刪除所述強(qiáng)制停止標(biāo)記的應(yīng)用程序是否調(diào)用了系統(tǒng)調(diào)度作業(yè)任務(wù),如果是,則清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序。
結(jié)合第一方面的第五種實(shí)施方式,在第一方面的第六種實(shí)施方式中,所述清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序包括:
判斷所述應(yīng)用程序包名是否注冊(cè)了自啟動(dòng)調(diào)度作業(yè)任務(wù),如果是,清除自啟動(dòng)調(diào)度作業(yè)任務(wù)中注冊(cè)的所述應(yīng)用程序。
第二方面,本發(fā)明實(shí)施例提供一種管理應(yīng)用程序的裝置,包括:包名獲取模塊、標(biāo)記清除模塊以及停包模塊,其中,
包名獲取模塊,用于獲取目標(biāo)應(yīng)用程序包名;
標(biāo)記清除模塊,用于判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,如果存在,刪除所述強(qiáng)制停止標(biāo)記;
停包模塊,用于調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理,以使所述應(yīng)用程序包名重新獲取強(qiáng)制停止標(biāo)記。
結(jié)合第二方面,在第二方面的第一種實(shí)施方式中,所述獲取目標(biāo)應(yīng)用程序包名包括:
讀取系統(tǒng)的活躍應(yīng)用程序包名列表,根據(jù)所述活躍應(yīng)用程序包名列表中的應(yīng)用程序包名活躍度從高到低的順序枚舉需要處理的目標(biāo)應(yīng)用程序包名。
結(jié)合第二方面,在第二方面的第二種實(shí)施方式中,所述裝置還包括:
處置策略判斷模塊,用于判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,如果符合處置策略,則執(zhí)行所述判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記。
結(jié)合第二方面的第二種實(shí)施方式,在第二方面的第三種實(shí)施方式中,所述判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,包括:
判斷目標(biāo)應(yīng)用程序包名包含在黑名單中,或者
判斷目標(biāo)應(yīng)用程序包名不包含在白名單中,則符合處置策略。
結(jié)合第二方面,在第二方面的第四種實(shí)施方式中,所述刪除所述強(qiáng)制停止標(biāo)記,包括:
啟動(dòng)所述目標(biāo)應(yīng)用程序,以使強(qiáng)制停止標(biāo)記被自動(dòng)刪除。
結(jié)合第二方面,在第二方面的第五種實(shí)施方式中,所述裝置還包括:
調(diào)用判斷模塊,用于判斷所述刪除所述強(qiáng)制停止標(biāo)記的應(yīng)用程序是否調(diào)用了系統(tǒng)調(diào)度作業(yè)任務(wù),如果是,則清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序。
結(jié)合第二方面,在第二方面的第六種實(shí)施方式中,所述清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序包括:
判斷所述應(yīng)用程序包名是否注冊(cè)了自啟動(dòng)調(diào)度作業(yè)任務(wù),如果是,清除自啟動(dòng)調(diào)度作業(yè)任務(wù)中注冊(cè)的所述應(yīng)用程序。
第三方面,本發(fā)明實(shí)施例提供一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲(chǔ)器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一所述的管理應(yīng)用程序的方法。
本發(fā)明實(shí)施例提供的一種管理應(yīng)用程序的方法、裝置及電子設(shè)備,通過(guò)獲取目標(biāo)應(yīng)用程序包名;判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,如果存在,刪除所述強(qiáng)制停止標(biāo)記;調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理,以使所述應(yīng)用程序包名重新獲取強(qiáng)制停止標(biāo)記。能夠提升電子設(shè)備的續(xù)航時(shí)間、提高應(yīng)用程序的管理效率,以解決現(xiàn)有的管理應(yīng)用程序的方法中,在電子設(shè)備鎖屏之后頻繁對(duì)自身應(yīng)用程序進(jìn)行喚醒,導(dǎo)致電子設(shè)備續(xù)航時(shí)間短、應(yīng)用程序管理效率較低的問(wèn)題。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明的實(shí)施例一管理應(yīng)用程序的方法流程示意圖;
圖2為本發(fā)明的實(shí)施例二管理應(yīng)用程序的方法流程示意圖;
圖3為本發(fā)明的實(shí)施例三管理應(yīng)用程序的裝置結(jié)構(gòu)示意圖;
圖4為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明的實(shí)施例一管理應(yīng)用程序的方法流程示意圖,如圖1所示,本實(shí)施例的方法可以包括:
步驟101,獲取目標(biāo)應(yīng)用程序包名;
本實(shí)施例中,作為一可選實(shí)施例,獲取目標(biāo)應(yīng)用程序包名包括:
讀取系統(tǒng)的活躍應(yīng)用程序包名列表,根據(jù)所述活躍應(yīng)用程序包名列表中的應(yīng)用程序包名活躍度從高到低的順序枚舉需要處理的目標(biāo)應(yīng)用程序包名。
作為另一可選實(shí)施例,獲取目標(biāo)應(yīng)用程序包名包括:
利用預(yù)先設(shè)置的處理策略,獲取符合所述處理策略的應(yīng)用程序包名。
作為再一可選實(shí)施例,獲取目標(biāo)應(yīng)用程序包名包括:
枚舉系統(tǒng)中安裝的應(yīng)用程序包名;
從枚舉的各應(yīng)用程序包名中,提取出與預(yù)先設(shè)置的優(yōu)化處理策略相匹配的應(yīng)用程序包名,得到待停包應(yīng)用程序包名集。
本實(shí)施例中,作為一可選實(shí)施例,枚舉系統(tǒng)中安裝的應(yīng)用程序包名包括:
調(diào)用系統(tǒng)銷(xiāo)毀進(jìn)程的應(yīng)用程序編程接口(API,Application Programming Interface),以使所述系統(tǒng)銷(xiāo)毀進(jìn)程的應(yīng)用程序編程接口調(diào)用Enum()函數(shù)枚舉系統(tǒng)中安裝的應(yīng)用程序包名。
本實(shí)施例中應(yīng)用程序包名為應(yīng)用程序的名稱,用以唯一標(biāo)識(shí)一應(yīng)用程序。
步驟102,判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,如果存在,刪除所述強(qiáng)制停止標(biāo)記;
本實(shí)施例中,作為一可選實(shí)施例,在所述判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,之前,該方法還包括:
判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,如果符合處置策略,則執(zhí)行所述判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記。
本實(shí)施例中,作為一可選實(shí)施例,所述判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,包括:
判斷目標(biāo)應(yīng)用程序包名包含在黑名單中,或者
判斷目標(biāo)應(yīng)用程序包名不包含在白名單中,則符合處置策略。
本實(shí)施例中,作為一可選實(shí)施例,刪除所述強(qiáng)制停止標(biāo)記包括:
通過(guò)代碼邏輯刪除所述強(qiáng)制停止標(biāo)記。
作為另一可選實(shí)施例,刪除所述強(qiáng)制停止標(biāo)記包括:
啟動(dòng)所述目標(biāo)應(yīng)用程序,以使強(qiáng)制停止標(biāo)記被自動(dòng)刪除。
本實(shí)施例中,通過(guò)啟動(dòng)目標(biāo)應(yīng)用程序,可以使得該目標(biāo)應(yīng)用程序?qū)?yīng)的應(yīng)用程序包名中設(shè)置的強(qiáng)制停止標(biāo)記自動(dòng)消失。
步驟103,調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理,以使所述應(yīng)用程序包名重新獲取強(qiáng)制停止標(biāo)記。
本實(shí)施例中,作為一可選實(shí)施例,在所述刪除所述強(qiáng)制停止標(biāo)記之后,調(diào)用強(qiáng)制停止包方法之前,該方法還包括:
判斷所述刪除所述強(qiáng)制停止標(biāo)記的應(yīng)用程序是否調(diào)用了系統(tǒng)調(diào)度作業(yè)任務(wù),如果是,則清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序。
本實(shí)施例中,可以通過(guò)獲取調(diào)用作業(yè)調(diào)度應(yīng)用程序編程接口(JobScheduler API)的應(yīng)用程序包名來(lái)判斷是否調(diào)用了系統(tǒng)調(diào)度作業(yè)任務(wù)。
作為一可選實(shí)施例,獲取調(diào)用JobSchedulerAPI的應(yīng)用程序包名的方法可以是直接從系統(tǒng)cache內(nèi)存中讀取注冊(cè)了JobScheduler API調(diào)用的應(yīng)用程序包名。
作為另一可選實(shí)施例,獲取調(diào)用JobSchedulerAPI的應(yīng)用程序包名的方法也可以是監(jiān)控應(yīng)用程序?qū)obScheduler API的調(diào)用,鉤住(Hook)應(yīng)用程序調(diào)用JobScheduler API的行為。
本實(shí)施例中,通過(guò)注入鉤子(Hook)函數(shù),利用鉤子函數(shù)監(jiān)控應(yīng)用程序?qū)obScheduler API的調(diào)用,在監(jiān)控到應(yīng)用程序?qū)ψ鳂I(yè)調(diào)度應(yīng)用程序編程接口的調(diào)用時(shí),攔截應(yīng)用程序?qū)ψ鳂I(yè)調(diào)度應(yīng)用程序編程接口的調(diào)用行為。
本實(shí)施例中,由于注冊(cè)作業(yè)服務(wù)(JobService)的機(jī)制允許應(yīng)用程序自啟動(dòng),因此,如果需要徹底結(jié)束該應(yīng)用程序后臺(tái)進(jìn)程和服務(wù),需要在終止其后臺(tái)進(jìn)程和服務(wù)之前,用disable JobScheduler API的方法,使該應(yīng)用程序注冊(cè)的JobService機(jī)制失效。
作為一可選實(shí)施例,所述清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序包括:
判斷所述應(yīng)用程序包名是否注冊(cè)了自啟動(dòng)調(diào)度作業(yè)任務(wù),如果是,清除自啟動(dòng)調(diào)度作業(yè)任務(wù)中注冊(cè)的所述應(yīng)用程序。
本實(shí)施例中,通過(guò)將注冊(cè)在作業(yè)服務(wù)中的應(yīng)用程序刪除,使得該應(yīng)用程序被停包后,可以防止注冊(cè)在作業(yè)服務(wù)中的應(yīng)用程序被系統(tǒng)拉活導(dǎo)致的應(yīng)用程序停包失效的問(wèn)題,例如,注冊(cè)到作業(yè)服務(wù)(JobService)中的應(yīng)用程序,可以通過(guò)作業(yè)調(diào)度應(yīng)用程序編程接口(JobScheduler API)設(shè)置多條JobService啟動(dòng)條件,在滿足設(shè)置的JobService啟動(dòng)條件時(shí),自動(dòng)啟動(dòng)應(yīng)用程序,從而導(dǎo)致應(yīng)用程序停包失效。
本實(shí)施例中,作為一可選實(shí)施例,在所述對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理之后,該方法還包括:
對(duì)執(zhí)行停包處理的應(yīng)用程序包名設(shè)置強(qiáng)制停止標(biāo)記。
本實(shí)施例中,在調(diào)用強(qiáng)制停止包(forceStopPackage)方法對(duì)應(yīng)用程序包名執(zhí)行真實(shí)的停包操作后,為該應(yīng)用程序包名設(shè)置強(qiáng)制停止(forcestop)標(biāo)記,以避免該應(yīng)用程序被反復(fù)停包導(dǎo)致的資源浪費(fèi)。
本發(fā)明的實(shí)施例一管理應(yīng)用程序的方法,通過(guò)獲取目標(biāo)應(yīng)用程序包名;判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,如果存在,刪除所述強(qiáng)制停止標(biāo)記;調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理,以使所述應(yīng)用程序包名重新獲取強(qiáng)制停止標(biāo)記。這樣,避免了應(yīng)用程序?yàn)榱颂颖芟到y(tǒng)強(qiáng)制停止策略,會(huì)自己對(duì)自己的包名打上forcestop標(biāo)記,使得當(dāng)對(duì)這些應(yīng)用程序進(jìn)行forcestop處理的時(shí)候,系統(tǒng)執(zhí)行forcestop處理的時(shí)候查詢到該應(yīng)用程序包名以及有了forcestop標(biāo)記,則不會(huì)重復(fù)執(zhí)行forcestop函數(shù),從而。針對(duì)依據(jù)強(qiáng)制停止標(biāo)記進(jìn)行進(jìn)程停滯的方法而惡意設(shè)置強(qiáng)制停止標(biāo)記的應(yīng)用程序包名,通過(guò)清除其設(shè)置的強(qiáng)制停止標(biāo)記,從而可以有效對(duì)該類(lèi)應(yīng)用程序包名進(jìn)行停包處理,在不需要的情況下真正結(jié)束類(lèi)應(yīng)用程序在后臺(tái)的進(jìn)程和服務(wù),節(jié)約電子設(shè)備電量消耗,提升電子設(shè)備的續(xù)航時(shí)間,有效提高了電子設(shè)備中應(yīng)用程序的管理效率。
圖2為本發(fā)明的實(shí)施例二管理應(yīng)用程序的方法流程示意圖,如圖2所示,本實(shí)施例的方法可以包括:
步驟201,枚舉系統(tǒng)中安裝的應(yīng)用程序包名;
步驟202,從枚舉的各應(yīng)用程序包名中,提取出與預(yù)先設(shè)置的優(yōu)化處理策略相匹配的應(yīng)用程序包名,得到待停包應(yīng)用程序包名集;
步驟203,獲取所述待停包應(yīng)用程序包名集中各待停包應(yīng)用程序包名映射的進(jìn)程的CPU占用率;
步驟204,按照預(yù)先設(shè)置的CPU占用率閾值,對(duì)所述待停包應(yīng)用程序包名集中各待停包應(yīng)用程序包名映射的進(jìn)程進(jìn)行分類(lèi),得到按照CPU占用率閾值從高至低排列的活躍進(jìn)程列表集;
步驟205,提取活躍進(jìn)程列表集中的一活躍進(jìn)程列表,清除所述活躍進(jìn)程列表中各待停包應(yīng)用程序包名包含的強(qiáng)制停止標(biāo)記;
步驟206,依據(jù)清除強(qiáng)制停止標(biāo)記的所述活躍進(jìn)程列表中的各待停包應(yīng)用程序包名,清除在作業(yè)服務(wù)中注冊(cè)的待停包應(yīng)用程序包名對(duì)應(yīng)的應(yīng)用程序;
步驟207,調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的所述活躍進(jìn)程列表中各待停包應(yīng)用程序包名執(zhí)行停包處理;
步驟208,為所述活躍進(jìn)程列表中各待停包應(yīng)用程序包名設(shè)置強(qiáng)制停止標(biāo)記;
步驟209,判斷活躍進(jìn)程列表集中的活躍進(jìn)程列表是否提取完畢,如果是,結(jié)束流程,如果不是,提取活躍進(jìn)程列表集中一未被提取的活躍進(jìn)程列表,執(zhí)行所述清除所述活躍進(jìn)程列表中各待停包應(yīng)用程序包名包含的強(qiáng)制停止標(biāo)記的步驟。
本實(shí)施例中,依次對(duì)活躍進(jìn)程列表集中的各活躍進(jìn)程列表進(jìn)行停包處理以及強(qiáng)制停止標(biāo)記處理。
本發(fā)明的實(shí)施例二管理應(yīng)用程序的方法,對(duì)CPU占用率較高的進(jìn)程先行進(jìn)行處理,從而釋放出其占用的資源,使得在后續(xù)對(duì)其他CPU占用率的進(jìn)程進(jìn)行處理時(shí),可以獲得更多的資源,從而提升處理速度,縮短處理停止應(yīng)用程序所需的時(shí)間;同時(shí),還通過(guò)將注冊(cè)在作業(yè)服務(wù)中的應(yīng)用程序刪除,使得該應(yīng)用程序被停包后,可以防止注冊(cè)在作業(yè)服務(wù)中的應(yīng)用程序被系統(tǒng)拉活而導(dǎo)致的應(yīng)用程序停包失效的問(wèn)題,能夠在后臺(tái)實(shí)現(xiàn)對(duì)進(jìn)程(應(yīng)用程寶明)的徹底停包處理。
圖3為本發(fā)明的實(shí)施例三管理應(yīng)用程序的裝置結(jié)構(gòu)示意圖,如圖3所示,本實(shí)施例的裝置可以包括:包名獲取模塊31、標(biāo)記清除模塊32以及停包模塊33,其中,
包名獲取模塊31,用于獲取目標(biāo)應(yīng)用程序包名;
本實(shí)施例中,作為一可選實(shí)施例,所述獲取目標(biāo)應(yīng)用程序包名包括:
讀取系統(tǒng)的活躍應(yīng)用程序包名列表,根據(jù)所述活躍應(yīng)用程序包名列表中的應(yīng)用程序包名活躍度從高到低的順序枚舉需要處理的目標(biāo)應(yīng)用程序包名。
標(biāo)記清除模塊32,用于判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記,如果存在,刪除所述強(qiáng)制停止標(biāo)記;
本實(shí)施例中,作為一可選實(shí)施例,所述刪除所述強(qiáng)制停止標(biāo)記,包括:
啟動(dòng)所述目標(biāo)應(yīng)用程序,以使強(qiáng)制停止標(biāo)記被自動(dòng)刪除。
停包模塊33,用于調(diào)用強(qiáng)制停止包方法,對(duì)清除強(qiáng)制停止標(biāo)記的目標(biāo)應(yīng)用程序包名執(zhí)行停包處理,以使所述應(yīng)用程序包名重新獲取強(qiáng)制停止標(biāo)記。
本實(shí)施例中,作為一可選實(shí)施例,該裝置還包括:
處置策略判斷模塊34,用于判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,如果符合處置策略,則執(zhí)行所述判斷獲取的目標(biāo)應(yīng)用程序包名是否存在強(qiáng)制停止標(biāo)記。
本實(shí)施例中,作為一可選實(shí)施例,所述判斷目標(biāo)應(yīng)用程序包名是否符合處置策略,包括:
判斷目標(biāo)應(yīng)用程序包名包含在黑名單中,或者
判斷目標(biāo)應(yīng)用程序包名不包含在白名單中,則符合處置策略。
本實(shí)施例中,作為另一可選實(shí)施例,該裝置還包括:
調(diào)用判斷模塊35,用于判斷所述刪除所述強(qiáng)制停止標(biāo)記的應(yīng)用程序是否調(diào)用了系統(tǒng)調(diào)度作業(yè)任務(wù),如果是,則清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序。
本實(shí)施例中,作為一可選實(shí)施例,所述清除調(diào)用系統(tǒng)調(diào)度作業(yè)任務(wù)的所述應(yīng)用程序包括:
判斷所述應(yīng)用程序包名是否注冊(cè)了自啟動(dòng)調(diào)度作業(yè)任務(wù),如果是,清除自啟動(dòng)調(diào)度作業(yè)任務(wù)中注冊(cè)的所述應(yīng)用程序。
本實(shí)施例的裝置,可以用于執(zhí)行圖1和圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類(lèi)似,此處不再贅述。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。
尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書(shū)而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤(pán)盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤(pán)只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。
在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專用集成電路,可編程門(mén)陣列(PGA),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)等。
本發(fā)明實(shí)施例還提供一種電子設(shè)備,所述電子設(shè)備包含前述任一實(shí)施例所述的裝置。
圖4為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,可以實(shí)現(xiàn)本發(fā)明圖1-3所示實(shí)施例的流程,如圖4所示,上述電子設(shè)備可以包括:殼體41、處理器42、存儲(chǔ)器43、電路板44和電源電路45,其中,電路板44安置在殼體41圍成的空間內(nèi)部,處理器42和存儲(chǔ)器43設(shè)置在電路板44上;電源電路45,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器43用于存儲(chǔ)可執(zhí)行程序代碼;處理器42通過(guò)讀取存儲(chǔ)器43中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一實(shí)施例所述的管理應(yīng)用程序的方法。
處理器42對(duì)上述步驟的具體執(zhí)行過(guò)程以及處理器42通過(guò)運(yùn)行可執(zhí)行程序代碼來(lái)進(jìn)一步執(zhí)行的步驟,可以參見(jiàn)本發(fā)明圖1-3所示實(shí)施例的描述,在此不再贅述。
該電子設(shè)備以多種形式存在,包括但不限于:
(1)移動(dòng)通信設(shè)備:這類(lèi)設(shè)備的特點(diǎn)是具備移動(dòng)通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類(lèi)終端包括:智能手機(jī)(例如iPhone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。
(2)超移動(dòng)個(gè)人計(jì)算機(jī)設(shè)備:這類(lèi)設(shè)備屬于個(gè)人計(jì)算機(jī)的范疇,有計(jì)算和處理功能,一般也具備移動(dòng)上網(wǎng)特性。這類(lèi)終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
(3)便攜式娛樂(lè)設(shè)備:這類(lèi)設(shè)備可以顯示和播放多媒體內(nèi)容。該類(lèi)設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機(jī),電子書(shū),以及智能玩具和便攜式車(chē)載導(dǎo)航設(shè)備。
(4)服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤(pán)、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類(lèi)似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
(5)其他具有數(shù)據(jù)交互功能的電子設(shè)備。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各單元/模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本
發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。