本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用啟動(dòng)方法、裝置及移動(dòng)終端。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,各種電子設(shè)備(如移動(dòng)終端、平板設(shè)備等)的使用越來越廣泛,其已成為人們生活中不可缺少的一部分。為了滿足用戶需求的多樣性,出現(xiàn)了很多方便用戶使用的應(yīng)用,如即時(shí)通訊應(yīng)用、游戲應(yīng)用等。但是,當(dāng)用戶在使用應(yīng)用時(shí),經(jīng)常會(huì)由于系統(tǒng)內(nèi)存不足或其他問題導(dǎo)致應(yīng)用出現(xiàn)卡頓,影響用戶體驗(yàn)。
現(xiàn)有技術(shù)中,用戶可以采取手動(dòng)設(shè)置的方式對系統(tǒng)或應(yīng)用進(jìn)行優(yōu)化,以滿足用戶流暢使用應(yīng)用的需求。但是,該方法僅僅是當(dāng)應(yīng)用啟動(dòng)之后,出現(xiàn)內(nèi)存不足的情況時(shí),可以通過手動(dòng)設(shè)置對系統(tǒng)進(jìn)行優(yōu)化。此時(shí),系統(tǒng)或應(yīng)用已經(jīng)出現(xiàn)卡頓現(xiàn)象,無法正常運(yùn)行,嚴(yán)重影響用戶體驗(yàn)。
因此,現(xiàn)在亟需一種在系統(tǒng)或應(yīng)用因內(nèi)存不足而出現(xiàn)卡頓的情況之前即可對系統(tǒng)進(jìn)行自動(dòng)優(yōu)化的方法。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的應(yīng)用啟動(dòng)方法、裝置及相應(yīng)的移動(dòng)終端。
依據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種應(yīng)用啟動(dòng)方法,應(yīng)用于能夠安裝多應(yīng)用的終端,包括:
根據(jù)所述終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
若所述終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,從所述剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存;
將調(diào)度出的內(nèi)存賦予該應(yīng)用,供該應(yīng)用啟動(dòng)及運(yùn)行。
可選地,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),因該應(yīng)用的運(yùn)行狀態(tài)其所占用的內(nèi)存動(dòng)態(tài)變動(dòng)。
可選地,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),所述方法還包括:
檢測該應(yīng)用當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值;
若檢測出的內(nèi)存值大于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,將該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值更新為所述檢測出的內(nèi)存值,供下次該應(yīng)用啟動(dòng)時(shí)作為內(nèi)存分配的依據(jù)。
可選地,所述檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值,包括:在該應(yīng)用的運(yùn)行過程中,定期或不定期檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。
可選地,若所述終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,所述方法還包括:
對所述終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,釋放清理出的內(nèi)存,直至所述剩余內(nèi)存大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,以便為所述應(yīng)用賦予內(nèi)存進(jìn)行啟動(dòng)。
可選地,對所述終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,包括:
在所述終端的其他已運(yùn)行應(yīng)用中篩選出能夠關(guān)閉的多個(gè)應(yīng)用;
在篩選出的多個(gè)應(yīng)用中選擇出至少一個(gè)應(yīng)用,其中,選擇標(biāo)準(zhǔn)為:選擇出的至少一個(gè)應(yīng)用被關(guān)閉后釋放的內(nèi)存大于本次被調(diào)起的應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
關(guān)閉選擇出的至少一個(gè)應(yīng)用。
可選地,按如下至少之一的篩選策略在所述終端的其他已運(yùn)行應(yīng)用中進(jìn)行篩選:
應(yīng)用為非前臺(tái)應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為白名單應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為黑名單應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用正在上傳或下載數(shù)據(jù)時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用。
可選地,所述重要進(jìn)程包括:
具備尚未處理的通知消息的進(jìn)程;
正在進(jìn)行內(nèi)容播放的播放器進(jìn)程,包括音頻和/或視頻。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種應(yīng)用啟動(dòng)裝置,應(yīng)用于能夠安裝多應(yīng)用的終端,包括:
預(yù)設(shè)置模塊,適于根據(jù)所述終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
獲取模塊,適于當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
調(diào)度模塊,適于若所述終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,從所述剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存;以及,將調(diào)度出的內(nèi)存賦予該應(yīng)用,供該應(yīng)用啟動(dòng)及運(yùn)行。
可選地,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),因該應(yīng)用的運(yùn)行狀態(tài)其所占用的內(nèi)存動(dòng)態(tài)變動(dòng)。
可選地,所述裝置還包括:
檢測模塊,適于被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),檢測該應(yīng)用當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值;
更新模塊,適于若檢測出的內(nèi)存值大于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,將該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值更新為所述檢測出的內(nèi)存值,供下次該應(yīng)用啟動(dòng)時(shí)作為內(nèi)存分配的依據(jù)。
可選地,所述檢測模塊還適于:在該應(yīng)用的運(yùn)行過程中,定期或不定期檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。
可選地,所述裝置還包括:
清理模塊,適于若所述終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,對所述終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,釋放清理出的內(nèi)存,直至所述剩余內(nèi)存大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,以便為所述應(yīng)用賦予內(nèi)存進(jìn)行啟動(dòng)。
可選地,所述清理模塊還適于:
在所述終端的其他已運(yùn)行應(yīng)用中篩選出能夠關(guān)閉的多個(gè)應(yīng)用;
在篩選出的多個(gè)應(yīng)用中選擇出至少一個(gè)應(yīng)用,其中,選擇標(biāo)準(zhǔn)為:選擇出的至少一個(gè)應(yīng)用被關(guān)閉后釋放的內(nèi)存大于本次被調(diào)起的應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
關(guān)閉選擇出的至少一個(gè)應(yīng)用。
可選地,所述清理模塊按如下至少之一的篩選策略在所述終端的其他已運(yùn)行應(yīng)用中進(jìn)行篩選:
應(yīng)用為非前臺(tái)應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為白名單應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為黑名單應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用正在上傳或下載數(shù)據(jù)時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用。
可選地,所述重要進(jìn)程包括:
具備尚未處理的通知消息的進(jìn)程;
正在進(jìn)行內(nèi)容播放的播放器進(jìn)程,包括音頻和/或視頻。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種計(jì)算機(jī)程序,包括計(jì)算機(jī)可讀代碼,當(dāng)所述計(jì)算機(jī)可讀代碼在計(jì)算設(shè)備上運(yùn)行時(shí),導(dǎo)致所述計(jì)算設(shè)備執(zhí)行所述的應(yīng)用啟動(dòng)方法。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種計(jì)算機(jī)可讀介質(zhì),其中存儲(chǔ)了所述的計(jì)算機(jī)程序。
依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供了一種移動(dòng)終端,包括處理器和存儲(chǔ)器:
所述存儲(chǔ)器用于執(zhí)行上述任一項(xiàng)應(yīng)用啟動(dòng)方法的程序,
所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。
本發(fā)明實(shí)施例,為了解決現(xiàn)有技術(shù)中只有當(dāng)應(yīng)用啟動(dòng)之后,在系統(tǒng)或者應(yīng)用出現(xiàn)卡頓現(xiàn)象時(shí)才能夠?qū)ζ溥M(jìn)行優(yōu)化,進(jìn)而嚴(yán)重影響用戶體驗(yàn)的問題,提出了一種新的應(yīng)用的啟動(dòng)方法。首先,在能夠安裝多個(gè)應(yīng)用的終端上,可以根據(jù)終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。該預(yù)設(shè)置的內(nèi)存最大值,為后續(xù)調(diào)度合適的內(nèi)存以供應(yīng)用正常啟動(dòng)、運(yùn)行提供了必要的基礎(chǔ)。當(dāng)任一應(yīng)用被調(diào)起時(shí),可以獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,根據(jù)本發(fā)明實(shí)施例,可以對終端當(dāng)前剩余內(nèi)存值進(jìn)行檢測,若檢測出終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,表明當(dāng)前終端足以為該應(yīng)用的正常啟動(dòng)提供合適的內(nèi)存。進(jìn)而,從該終端剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存。然后,將調(diào)度出的內(nèi)存賦予該應(yīng)用,以供該應(yīng)用正常啟動(dòng)及運(yùn)行。由此可知,采用本發(fā)明實(shí)施例所提供的應(yīng)用的啟動(dòng)方法,能夠根據(jù)終端上安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)先設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,當(dāng)用戶啟動(dòng)某一應(yīng)用時(shí),可以在應(yīng)用啟動(dòng)的同時(shí),根據(jù)統(tǒng)計(jì)的該應(yīng)用啟動(dòng)時(shí)所需內(nèi)存的峰值對系統(tǒng)進(jìn)行優(yōu)化。進(jìn)而,在終端剩余內(nèi)存中,為該應(yīng)用提供大于等于其運(yùn)行時(shí)所需的峰值內(nèi)存,以達(dá)到及時(shí)清理內(nèi)存、避免應(yīng)用運(yùn)行過程中出現(xiàn)卡頓現(xiàn)象的目的,從而實(shí)現(xiàn)應(yīng)用的流暢運(yùn)行,提升用戶體驗(yàn)。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
根據(jù)下文結(jié)合附圖對本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)方法的處理流程圖;
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)方法的具體流程圖;
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的內(nèi)存清理邏輯流程圖;
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)裝置的第一種示意性框圖;
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)裝置的第二種示意性框圖;
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)裝置的第三種示意性框圖;
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖;
圖8是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行根據(jù)本發(fā)明的應(yīng)用啟動(dòng)方法的計(jì)算設(shè)備的框圖;以及
圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于保持或者攜帶實(shí)現(xiàn)根據(jù)本發(fā)明的應(yīng)用啟動(dòng)方法的程序代碼的存儲(chǔ)單元。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例供了一種應(yīng)用啟動(dòng)方法。圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)方法的處理流程圖。如圖1所示,應(yīng)用啟動(dòng)方法至少包括步驟s102至步驟s108:
步驟s102、根據(jù)終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
步驟s104、當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
步驟s106、若終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,從剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存;
步驟s108、將調(diào)度出的內(nèi)存賦予該應(yīng)用,供該應(yīng)用啟動(dòng)及運(yùn)行。
本發(fā)明實(shí)施例,為了解決現(xiàn)有技術(shù)中只有當(dāng)應(yīng)用啟動(dòng)之后,在系統(tǒng)或者應(yīng)用出現(xiàn)卡頓現(xiàn)象時(shí)才能夠?qū)ζ溥M(jìn)行優(yōu)化,進(jìn)而嚴(yán)重影響用戶體驗(yàn)的問題,提出了一種新的應(yīng)用的啟動(dòng)方法。首先,在能夠安裝多個(gè)應(yīng)用的終端上,可以根據(jù)終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。具體地,在終端上預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值時(shí),可以有多種預(yù)設(shè)置方式,比如可以根據(jù)大數(shù)據(jù)統(tǒng)計(jì)然后由系統(tǒng)下發(fā)進(jìn)行系統(tǒng)自動(dòng)設(shè)置,還可以根據(jù)用戶手動(dòng)進(jìn)行自定義設(shè)置等,以上預(yù)設(shè)置方式僅是例舉,本發(fā)明實(shí)施例對此不做具體限定。該預(yù)設(shè)置的內(nèi)存最大值,為后續(xù)調(diào)度合適的內(nèi)存以供應(yīng)用正常啟動(dòng)、運(yùn)行提供了必要的基礎(chǔ)。當(dāng)任一應(yīng)用被調(diào)起時(shí),可以獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,根據(jù)本發(fā)明實(shí)施例,可以對終端當(dāng)前剩余內(nèi)存值進(jìn)行檢測,若檢測出終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,表明當(dāng)前終端足以為該應(yīng)用的正常啟動(dòng)提供合適的內(nèi)存。進(jìn)而,從該終端剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存。然后,將調(diào)度出的內(nèi)存賦予該應(yīng)用,以供該應(yīng)用正常啟動(dòng)及運(yùn)行。由此可知,采用本發(fā)明實(shí)施例所提供的應(yīng)用的啟動(dòng)方法,能夠根據(jù)終端上安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)先設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,當(dāng)用戶啟動(dòng)某一應(yīng)用時(shí),可以在應(yīng)用啟動(dòng)的同時(shí),根據(jù)統(tǒng)計(jì)的該應(yīng)用啟動(dòng)時(shí)所需內(nèi)存的峰值對系統(tǒng)進(jìn)行優(yōu)化。進(jìn)而,在終端剩余內(nèi)存中,為該應(yīng)用提供大于等于其運(yùn)行時(shí)所需的峰值內(nèi)存,以達(dá)到及時(shí)清理內(nèi)存、避免應(yīng)用運(yùn)行過程中出現(xiàn)卡頓現(xiàn)象的目的,從而實(shí)現(xiàn)應(yīng)用的流暢運(yùn)行,提升用戶體驗(yàn)。
具體地,上文步驟s102中提及的終端,其上能夠安裝多個(gè)應(yīng)用,根據(jù)本發(fā)明所提供的方法,可以根據(jù)終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置該終端上各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。當(dāng)設(shè)置好各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值后,執(zhí)行步驟s104,當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。
相應(yīng)地,當(dāng)任一應(yīng)用被調(diào)起時(shí),該應(yīng)用即處于運(yùn)行狀態(tài),此時(shí),該應(yīng)用所占用的內(nèi)存便不再維持為一定值,其會(huì)隨著該應(yīng)用的運(yùn)行狀態(tài)而動(dòng)態(tài)變動(dòng)。在本發(fā)明實(shí)施例中,為了實(shí)時(shí)獲取該應(yīng)用所占用的內(nèi)存,可以首先檢測該應(yīng)用當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值。在實(shí)際應(yīng)用中,可以在該應(yīng)用的運(yùn)行過程中,定期或不定期地檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。
進(jìn)一步,在檢測應(yīng)用運(yùn)行時(shí)所占用內(nèi)存的過程中,可以首先針對用戶的使用場景對應(yīng)用運(yùn)行內(nèi)存進(jìn)行峰值統(tǒng)計(jì)。進(jìn)而,可以根據(jù)統(tǒng)計(jì)結(jié)果對該應(yīng)用預(yù)先設(shè)定的內(nèi)存最大值參數(shù)進(jìn)行調(diào)整。具體地,若檢測出的內(nèi)存值大于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,表明應(yīng)用在運(yùn)行過程中需要比預(yù)設(shè)內(nèi)存最大值更大的內(nèi)存以供應(yīng)用正常運(yùn)行。此時(shí),根據(jù)本發(fā)明實(shí)施例,可以將該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值更新為本次檢測出的內(nèi)存值,以替換掉原有的內(nèi)存峰值。進(jìn)而,將本次檢測出的內(nèi)存值作為峰值,以確保峰值始終是已知的最大占用內(nèi)存值,并將其作為下次應(yīng)用啟動(dòng)時(shí)的內(nèi)存分配的依據(jù)。
步驟s104執(zhí)行結(jié)束之后,獲取到應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存峰值,然后,執(zhí)行步驟s106,對終端當(dāng)前剩余內(nèi)存值進(jìn)行檢測。若終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,表明當(dāng)前終端足以為該應(yīng)用的正常啟動(dòng)及運(yùn)行提供相應(yīng)的內(nèi)存。進(jìn)而,根據(jù)本發(fā)明的方法,可以從終端剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存,以供該應(yīng)用正常啟動(dòng)及運(yùn)行。若終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值時(shí),應(yīng)用的啟動(dòng)及運(yùn)行會(huì)受到嚴(yán)重影響,容易出現(xiàn)因內(nèi)存不足而無法正常啟動(dòng)應(yīng)用等狀況。
進(jìn)一步,為了使得應(yīng)用能夠正常啟動(dòng)及流暢運(yùn)行,根據(jù)本發(fā)明提供的方法,在檢測到終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值時(shí),可以對終端其他已運(yùn)行的應(yīng)用所占用的內(nèi)存執(zhí)行清理操作。具體地,可以在終端的其他已運(yùn)行應(yīng)用中篩選出能夠關(guān)閉的多個(gè)應(yīng)用。在本發(fā)明實(shí)施例中,對終端的其他已運(yùn)行應(yīng)用進(jìn)行篩選時(shí),篩選策略可以包括:應(yīng)用為非前臺(tái)應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;應(yīng)用為白名單應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用;應(yīng)用為黑名單應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí)不能夠關(guān)閉該應(yīng)用;應(yīng)用正在上傳或下載數(shù)據(jù)時(shí)不能夠關(guān)閉該應(yīng)用;應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用,其中n的數(shù)值可以根據(jù)需要進(jìn)行配置,在此不進(jìn)行限定,等等。
具體地,當(dāng)應(yīng)用為前臺(tái)應(yīng)用時(shí),該應(yīng)用可以為用戶當(dāng)前正在操作的應(yīng)用,此時(shí)可以對該應(yīng)用不進(jìn)行清理操作。當(dāng)應(yīng)用為白名單應(yīng)用時(shí),該應(yīng)用可以為用戶預(yù)先設(shè)置的在進(jìn)行內(nèi)存清理時(shí),對其不進(jìn)行清理操作的應(yīng)用。當(dāng)應(yīng)用為黑名單應(yīng)用時(shí),表明在進(jìn)行內(nèi)存清理時(shí),該應(yīng)用存在被清理的風(fēng)險(xiǎn)。此時(shí),需進(jìn)一步判斷該應(yīng)用是否為超級黑名單應(yīng)用。相應(yīng)地,當(dāng)應(yīng)用為超級黑名單應(yīng)用時(shí),該應(yīng)用可以為用戶預(yù)先設(shè)置的在進(jìn)行內(nèi)存清理時(shí),必須要對其進(jìn)行清理的應(yīng)用。當(dāng)應(yīng)用不是超級黑名單應(yīng)用時(shí),則需進(jìn)一步判斷該應(yīng)用是否為普通黑名單應(yīng)用。當(dāng)應(yīng)用為普通黑名單應(yīng)用時(shí),該應(yīng)用可以為用戶預(yù)先設(shè)置的能夠根據(jù)系統(tǒng)運(yùn)行狀態(tài)選擇性對其進(jìn)行清理的應(yīng)用,比如,當(dāng)系統(tǒng)運(yùn)行不流暢時(shí),對該應(yīng)用執(zhí)行清理操作,反之,系統(tǒng)運(yùn)行流暢時(shí),可以不必對其執(zhí)行清理操作。當(dāng)應(yīng)用正在上傳或下載數(shù)據(jù)時(shí),表明該應(yīng)用當(dāng)前處于運(yùn)行狀態(tài),此時(shí)可以對該應(yīng)用不進(jìn)行清理操作。當(dāng)應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí),表明用戶在該終端上經(jīng)常啟動(dòng)或運(yùn)行該應(yīng)用,此時(shí)可以對該應(yīng)用不進(jìn)行清理操作。當(dāng)應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí),該重要進(jìn)程可以為具備尚未處理的通知消息的進(jìn)程或正在進(jìn)行內(nèi)容播放的播放器進(jìn)程,包括音頻和/或視頻,此時(shí)可以對該應(yīng)用不進(jìn)行清理操作。
在根據(jù)上述篩選策略篩選出多個(gè)應(yīng)用后,可以在該篩選出的多個(gè)應(yīng)用中選擇出至少一個(gè)應(yīng)用,該應(yīng)用被關(guān)閉后釋放的內(nèi)存需大于本次被調(diào)起的應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。此時(shí),在確定該應(yīng)用滿足上述內(nèi)存條件時(shí),關(guān)閉該選擇出的至少一個(gè)應(yīng)用,以完成一次對終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存的清理操作。
進(jìn)一步,根據(jù)本發(fā)明實(shí)施例,可以多次對終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,釋放清理出的內(nèi)存,直至終端剩余內(nèi)存大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,以便為被調(diào)起的應(yīng)用賦予內(nèi)存進(jìn)行啟動(dòng)。
在步驟s106執(zhí)行結(jié)束之后,執(zhí)行步驟s108,將調(diào)度出的內(nèi)存賦予該應(yīng)用,以供該應(yīng)用啟動(dòng)及運(yùn)行。
在上述步驟執(zhí)行結(jié)束之后,終端上的各應(yīng)用在啟動(dòng)時(shí),能夠根據(jù)其各自的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)而,在應(yīng)用被調(diào)起時(shí),實(shí)時(shí)檢測應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。當(dāng)運(yùn)行過程中出現(xiàn)占用內(nèi)存大于預(yù)設(shè)峰值的情況時(shí),可以用更大的占用內(nèi)存數(shù)據(jù)替換原有的峰值數(shù)據(jù),以確保更新的峰值始終的已知的最大占用內(nèi)存值。進(jìn)一步,可以根據(jù)該實(shí)時(shí)更新的內(nèi)存峰值,對終端的內(nèi)存進(jìn)行清理操作,直至終端剩余內(nèi)存大于等于該應(yīng)用運(yùn)行過程中所需的內(nèi)存最大值。從而從終端的剩余內(nèi)存中調(diào)度出相應(yīng)的內(nèi)存賦予該應(yīng)用,以供其正常啟動(dòng)及運(yùn)行。本發(fā)明實(shí)施例提供的方法,能夠在應(yīng)用啟動(dòng)的同時(shí)根據(jù)相關(guān)數(shù)據(jù)對系統(tǒng)進(jìn)行優(yōu)化而實(shí)現(xiàn)應(yīng)用的流暢運(yùn)行,提升用戶體驗(yàn)。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)方法的具體流程圖。本發(fā)明實(shí)施例中,被調(diào)起的應(yīng)用記為a,應(yīng)用a正常啟動(dòng)時(shí)所需的內(nèi)存最大值記為max,終端當(dāng)前剩余內(nèi)存記為y,應(yīng)用a當(dāng)前運(yùn)行時(shí)所占內(nèi)存記為x。具體地,參見圖2,該方法至少包括步驟s201至步驟s210:
步驟s201、設(shè)置應(yīng)用a正常啟動(dòng)時(shí)所需的內(nèi)存最大值max;
步驟s202、判斷是否啟動(dòng)應(yīng)用a,若是,執(zhí)行步驟s203,若否,執(zhí)行結(jié)束;
步驟s203、判斷終端當(dāng)前剩余內(nèi)存y是否大于應(yīng)用a正常啟動(dòng)時(shí)所需的內(nèi)存最大值max,若是,執(zhí)行步驟s204,若否,執(zhí)行步驟s205;
步驟s204、正常啟動(dòng)應(yīng)用a;
步驟s205、清理內(nèi)存,直至終端當(dāng)前剩余內(nèi)存y大于等于應(yīng)用a正常啟動(dòng)時(shí)所需的內(nèi)存最大值max;
步驟s206、定期檢測應(yīng)用a當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值x;
步驟s207、判斷應(yīng)用a當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值x是否大于預(yù)設(shè)置的應(yīng)用a正常啟動(dòng)時(shí)所需的內(nèi)存最大值,若是,執(zhí)行步驟s208,若否,執(zhí)行步驟s206;
步驟s208、將預(yù)先設(shè)置的應(yīng)用a正常啟動(dòng)時(shí)所需的內(nèi)存最大值max更新為本次檢測出的內(nèi)存值x;
步驟s209、判斷應(yīng)用a是否還在運(yùn)行,若是,執(zhí)行步驟s206,若否,執(zhí)行步驟s210;
步驟s210、將更新后的max值設(shè)置為應(yīng)用a下次啟動(dòng)時(shí)所需的內(nèi)存。
進(jìn)一步地,根據(jù)本發(fā)明實(shí)施例,在對終端內(nèi)存進(jìn)行清理操作時(shí),為了避免對用戶的體驗(yàn)造成影響,在本發(fā)明實(shí)施例的內(nèi)存清理邏輯中進(jìn)行了一系列的智能判斷。具體地,圖3示出了本發(fā)明一個(gè)實(shí)施例的內(nèi)存清理邏輯流程圖。如圖3所示,該清理方法至少包括步驟s301至步驟s315:
步驟s301、判斷應(yīng)用是否為前臺(tái)應(yīng)用,若是,執(zhí)行步驟s302,若否,執(zhí)行步驟s303;
步驟s302、不執(zhí)行清理操作;
步驟s303、判斷應(yīng)用是否為白名單應(yīng)用,若是,執(zhí)行步驟s302,若否,執(zhí)行步驟s304;
步驟s304、判斷應(yīng)用是否為超級黑名單應(yīng)用(見上文),若是,執(zhí)行步驟s305,若否,執(zhí)行步驟s306;
步驟s305、將該應(yīng)用放置于待清理列表;
步驟s306、判斷應(yīng)用是否為重要進(jìn)程,若是,執(zhí)行步驟s307,若否,執(zhí)行步驟s308;
步驟s307、判斷終端狀態(tài)欄通知(notifaction)是否不為空,或者是否有音樂類文件在播放,若是,執(zhí)行步驟s302,若否,執(zhí)行步驟s308;
步驟s308、判斷應(yīng)用是否正在上傳下載數(shù)據(jù),若是,執(zhí)行步驟s302,若否,執(zhí)行步驟s309;
步驟s309、判斷應(yīng)用是否為終端活躍的最高的前n個(gè)應(yīng)用,若是,執(zhí)行步驟s310,若否,執(zhí)行步驟s305;
步驟s310、判斷應(yīng)用是否為普通黑名單應(yīng)用(見上文),若是,執(zhí)行步驟s305,若否,執(zhí)行步驟s302;
步驟s311、檢測終端剩余內(nèi)存;
步驟s312、判斷終端剩余內(nèi)存是否大于等于應(yīng)用正常啟動(dòng)時(shí)所需的內(nèi)存最大值max,若是,執(zhí)行結(jié)束,若否,執(zhí)行步驟s313;
步驟s313、對當(dāng)前運(yùn)行進(jìn)程進(jìn)行優(yōu)先排序;
步驟s314、計(jì)算出前n個(gè)應(yīng)用總占用內(nèi)存大于等于應(yīng)用正常啟動(dòng)時(shí)所需內(nèi)存最大值max;
步驟s315、結(jié)束前n個(gè)應(yīng)用。
采用圖2所示的應(yīng)用啟動(dòng)方法,或圖3所示的內(nèi)存清理方法,還存在許多不同的應(yīng)用場景?,F(xiàn)提供出幾個(gè)具體的實(shí)施例對本發(fā)明實(shí)施例所提供的應(yīng)用的啟動(dòng)方法進(jìn)行詳細(xì)闡述。
實(shí)施例一
本實(shí)施例以被調(diào)起的應(yīng)用為微信為例。本例中,微信正常啟動(dòng)時(shí)所需的內(nèi)存最大值為15m,用戶手機(jī)當(dāng)前剩余內(nèi)存為30m,微信在運(yùn)行過程中所占用的內(nèi)存為20m。
根據(jù)本發(fā)明實(shí)施例的應(yīng)用的啟動(dòng)方法,首先,根據(jù)手機(jī)上安裝的微信的歷史運(yùn)行狀態(tài),預(yù)先設(shè)置出其正常啟動(dòng)時(shí)所需的內(nèi)存最大值為15m。即,此時(shí)當(dāng)手機(jī)內(nèi)存大于等于15m時(shí),微信便能正常啟動(dòng)。進(jìn)一步,當(dāng)微信被調(diào)起時(shí),獲取其啟動(dòng)時(shí)所需的內(nèi)存最大值。然后,以獲取到的微信正常啟動(dòng)時(shí)所需的內(nèi)存最大值15m為基礎(chǔ),對用戶手機(jī)當(dāng)前剩余的內(nèi)存值進(jìn)行檢測。此時(shí),檢測到用戶手機(jī)當(dāng)前剩余內(nèi)存值為30m,表明當(dāng)前手機(jī)能夠使得微信正常啟動(dòng)。進(jìn)而,從用戶手機(jī)剩余的30m內(nèi)存中調(diào)度出15m內(nèi)存賦予微信,以供微信正常啟動(dòng)及運(yùn)行。
此外,當(dāng)微信啟動(dòng)之后處于運(yùn)行狀態(tài)時(shí),還可以實(shí)時(shí)檢測微信當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值。本實(shí)施例中,微信在運(yùn)行過程中所占用的內(nèi)存為20m,該檢測出的內(nèi)存值20m大于微信正常啟動(dòng)時(shí)所需的內(nèi)存最大值15m,則將預(yù)先設(shè)置的微信啟動(dòng)時(shí)所需的內(nèi)存最大值由15m更新為本次檢測出的內(nèi)存值20m。用戶手機(jī)當(dāng)前剩余內(nèi)存為30m,當(dāng)微信正常啟動(dòng)時(shí)所需的內(nèi)存最大值為20m時(shí),從用戶手機(jī)剩余的30m內(nèi)存中調(diào)度出20m內(nèi)存賦予微信,以供微信正常啟動(dòng)及運(yùn)行。
實(shí)施例二
本發(fā)明實(shí)施例以需要被調(diào)起的應(yīng)用為微博為例,在本例中,微博正常啟動(dòng)時(shí)所需占用的內(nèi)存最大值為30m,用戶手機(jī)當(dāng)前剩余內(nèi)存值為25m。用戶手機(jī)上已運(yùn)行的應(yīng)用為百度視頻、美顏相機(jī)、王者榮耀,且百度視頻當(dāng)前正在下載電影,美顏相機(jī)以及王者榮耀已預(yù)先被用戶設(shè)置為超級黑名單應(yīng)用。在本例中,百度視頻所占手機(jī)內(nèi)存為200m,美顏相機(jī)所占手機(jī)內(nèi)存為20m,王者榮耀所占手機(jī)內(nèi)存為40m。
在本發(fā)明實(shí)施例中,用戶手機(jī)當(dāng)前剩余的內(nèi)存值為25m,若要正常啟動(dòng)微博,則需手機(jī)能夠提供30m內(nèi)存,此時(shí),用戶在該手機(jī)上不能夠正常啟動(dòng)微博。若想正常啟動(dòng)微博,在本發(fā)明實(shí)施例中,根據(jù)圖3所提供的方法,可以首先對手機(jī)中已運(yùn)行的各應(yīng)用類型進(jìn)行判斷。
具體地,根據(jù)圖3所示的流程對用戶手機(jī)上當(dāng)前正在運(yùn)行的百度視頻、美顏相機(jī)、王者榮耀這三個(gè)應(yīng)用進(jìn)行判斷。當(dāng)判斷出美顏相機(jī)以及王者榮耀為超級黑名單應(yīng)用時(shí),將美顏相機(jī)以及王者榮耀添加到待清理列表中,以對其占用的內(nèi)存進(jìn)行清理操作。當(dāng)判斷出百度視頻正在下載數(shù)據(jù)時(shí),根據(jù)圖3所提供的方法,對其不執(zhí)行清理操作,使其可以繼續(xù)進(jìn)行數(shù)據(jù)下載。
相應(yīng)地,在對手機(jī)上的已運(yùn)行應(yīng)用執(zhí)行清理操作后,可以進(jìn)一步對手機(jī)上剩余的內(nèi)存進(jìn)行檢測。在本例中,對手機(jī)上的美顏相機(jī)、王者榮耀進(jìn)行清理之后,手機(jī)的剩余內(nèi)存為85m。此時(shí),手機(jī)的剩余內(nèi)存85m大于微博正常啟動(dòng)時(shí)所需的內(nèi)存最大值30m,進(jìn)而用戶便可以在手機(jī)上正常啟動(dòng)微博進(jìn)行相關(guān)操作。
上文的實(shí)施例中所提供的結(jié)果僅僅為例舉,本發(fā)明實(shí)施例提供的應(yīng)用啟動(dòng)方法可以應(yīng)用于不同終端的不同應(yīng)用中,上述實(shí)施例對其并未做限定。
因此,采用本發(fā)明實(shí)施例所提供的應(yīng)用的啟動(dòng)方法,能夠根據(jù)終端上安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)先設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,當(dāng)用戶啟動(dòng)某一應(yīng)用時(shí),可以在應(yīng)用啟動(dòng)的同時(shí),根據(jù)統(tǒng)計(jì)的該應(yīng)用啟動(dòng)時(shí)所需內(nèi)存的峰值對系統(tǒng)進(jìn)行優(yōu)化。進(jìn)而,在終端剩余內(nèi)存中,為該應(yīng)用提供大于等于其運(yùn)行時(shí)所需的峰值內(nèi)存,以達(dá)到及時(shí)清理內(nèi)存、避免應(yīng)用運(yùn)行過程中出現(xiàn)卡頓現(xiàn)象的目的,從而實(shí)現(xiàn)應(yīng)用的流暢運(yùn)行,提升用戶體驗(yàn)。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供了一種應(yīng)用的啟動(dòng)裝置。圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用啟動(dòng)裝置的第一種示意性框圖。如圖4所示,應(yīng)用的啟動(dòng)裝置至少包括:
預(yù)設(shè)置模塊410,適于根據(jù)終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
獲取模塊420,與預(yù)設(shè)置模塊410耦合,適于當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
調(diào)度模塊430,與獲取模塊420耦合,適于若終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,從剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存;以及,將調(diào)度出的內(nèi)存賦予該應(yīng)用,供該應(yīng)用啟動(dòng)及運(yùn)行。
在一個(gè)優(yōu)選的實(shí)施例中,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),因該應(yīng)用的運(yùn)行狀態(tài)其所占用的內(nèi)存動(dòng)態(tài)變動(dòng)。
在一個(gè)優(yōu)選的實(shí)施例中,如圖5所示,應(yīng)用啟動(dòng)裝置還包括:
檢測模塊440,與調(diào)度模塊430耦合,適于被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),檢測該應(yīng)用當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值;
更新模塊450,與檢測模塊440耦合,適于若檢測出的內(nèi)存值大于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,將該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值更新為檢測出的內(nèi)存值,供下次該應(yīng)用啟動(dòng)時(shí)作為內(nèi)存分配的依據(jù)。
在一個(gè)優(yōu)選的實(shí)施例中,檢測模塊440還適于:在該應(yīng)用的運(yùn)行過程中,定期或不定期檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。
在一個(gè)優(yōu)選的實(shí)施例中,如圖6所示,應(yīng)用啟動(dòng)裝置還包括:
清理模塊460,與更新模塊450耦合,適于若終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,對終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,釋放清理出的內(nèi)存,直至剩余內(nèi)存大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,以便為應(yīng)用賦予內(nèi)存進(jìn)行啟動(dòng)。
在一個(gè)優(yōu)選的實(shí)施例中,清理模塊460還適于:
在終端的其他已運(yùn)行應(yīng)用中篩選出能夠關(guān)閉的多個(gè)應(yīng)用;
在篩選出的多個(gè)應(yīng)用中選擇出至少一個(gè)應(yīng)用,其中,選擇標(biāo)準(zhǔn)為:選擇出的至少一個(gè)應(yīng)用被關(guān)閉后釋放的內(nèi)存大于本次被調(diào)起的應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
關(guān)閉選擇出的至少一個(gè)應(yīng)用。
在一個(gè)優(yōu)選的實(shí)施例中,清理模塊460按如下至少之一的篩選策略在終端的其他已運(yùn)行應(yīng)用中進(jìn)行篩選:
應(yīng)用為非前臺(tái)應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為白名單應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為黑名單應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用正在上傳或下載數(shù)據(jù)時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用。
在一個(gè)優(yōu)選的實(shí)施例中,重要進(jìn)程包括:
具備尚未處理的通知消息的進(jìn)程;
正在進(jìn)行內(nèi)容播放的播放器進(jìn)程,包括音頻和/或視頻。
此外,本發(fā)明實(shí)施例還提供了一種移動(dòng)終端,如圖7所示,包括處理器780和存儲(chǔ)器720:
存儲(chǔ)器720用于存儲(chǔ)執(zhí)行上述任意一個(gè)優(yōu)選的實(shí)施例或其組合所提供的應(yīng)用啟動(dòng)方法的程序,
處理器780被配置為用于執(zhí)行存儲(chǔ)器720中存儲(chǔ)的程序。
為了便于說明,圖7僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請參照本發(fā)明實(shí)施例方法部分。該移動(dòng)終端可以包括手機(jī)、平板電腦、pda(personaldigitalassistant,個(gè)人數(shù)字處理)、pos(pointofsales,銷售終端)、車載電腦等任意終端設(shè)備,以終端為手機(jī)為例:
圖7示出的是與本發(fā)明實(shí)施例提供的移動(dòng)終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖7,手機(jī)包括:射頻(radiofrequency,rf)電路710、存儲(chǔ)器720、輸入單元730、顯示單元740、傳感器750、音頻電路760、無線保真(wirelessfidelity,wifi)模塊770、處理器780、以及電源790等部件。本領(lǐng)域技術(shù)人員可以理解,圖7中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖7對手機(jī)的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
rf電路710可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器780處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路710包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(lownoiseamplifier,lna)、雙工器等。此外,rf電路710還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(globalsystemofmobilecommunication,gsm)、通用分組無線服務(wù)(generalpacketradioservice,gprs)、碼分多址(codedivisionmultipleaccess,cdma)、寬帶碼分多址(widebandcodedivisionmultipleaccess,wcdma)、長期演進(jìn)(longtermevolution,lte)、電子郵件、短消息服務(wù)(shortmessagingservice,sms)等。
存儲(chǔ)器720可用于存儲(chǔ)軟件程序以及模塊,處理器780通過運(yùn)行存儲(chǔ)在存儲(chǔ)器720的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器720可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器720可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
輸入單元730可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元730可包括觸控面板731以及其他輸入設(shè)備732。觸控面板731,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板731上或在觸控面板731附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控面板731可包括觸摸檢測裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器780,并能接收處理器780發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板731。除了觸控面板731,輸入單元730還可以包括其他輸入設(shè)備732。具體地,其他輸入設(shè)備732可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元740可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元740可包括顯示面板741,可選的,可以采用液晶顯示器(liquidcrystaldisplay,lcd)、有機(jī)發(fā)光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板741。進(jìn)一步的,觸控面板731可覆蓋顯示面板741,當(dāng)觸控面板731檢測到在其上或附近的觸摸操作后,傳送給處理器780以確定觸摸事件的類型,隨后處理器780根據(jù)觸摸事件的類型在顯示面板741上提供相應(yīng)的視覺輸出。雖然在圖7中,觸控面板731與顯示面板741是作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板731與顯示面板741集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)還可包括至少一種傳感器750,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板741的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板741和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路760、揚(yáng)聲器761,傳聲器762可提供用戶與手機(jī)之間的音頻接口。音頻電路760可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P(yáng)聲器761,由揚(yáng)聲器761轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器762將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路760接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器780處理后,經(jīng)rf電路710以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器720以便進(jìn)一步處理。
wifi屬于短距離無線傳輸技術(shù),手機(jī)通過wifi模塊770可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖7示出了wifi模塊770,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器780是手機(jī)的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器720內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器720內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控。可選的,處理器780可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器780可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器780中。
手機(jī)還包括給各個(gè)部件供電的電源790(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器780邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
采用本發(fā)明實(shí)施例提供的應(yīng)用啟動(dòng)方法及裝置能夠達(dá)到如下有益效果:
本發(fā)明實(shí)施例,為了解決現(xiàn)有技術(shù)中只有當(dāng)應(yīng)用啟動(dòng)之后,在系統(tǒng)或者應(yīng)用出現(xiàn)卡頓現(xiàn)象時(shí)才能夠?qū)ζ溥M(jìn)行優(yōu)化,進(jìn)而嚴(yán)重影響用戶體驗(yàn)的問題,提出了一種新的應(yīng)用的啟動(dòng)方法。首先,在能夠安裝多個(gè)應(yīng)用的終端上,可以根據(jù)終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。該預(yù)設(shè)置的內(nèi)存最大值,為后續(xù)調(diào)度合適的內(nèi)存以供應(yīng)用正常啟動(dòng)、運(yùn)行提供了必要的基礎(chǔ)。當(dāng)任一應(yīng)用被調(diào)起時(shí),可以獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,根據(jù)本發(fā)明實(shí)施例,可以對終端當(dāng)前剩余內(nèi)存值進(jìn)行檢測,若檢測出終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,表明當(dāng)前終端足以為該應(yīng)用的正常啟動(dòng)提供合適的內(nèi)存。進(jìn)而,從該終端剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存。然后,將調(diào)度出的內(nèi)存賦予該應(yīng)用,以供該應(yīng)用正常啟動(dòng)及運(yùn)行。由此可知,采用本發(fā)明實(shí)施例所提供的應(yīng)用的啟動(dòng)方法,能夠根據(jù)終端上安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)先設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值。進(jìn)一步,當(dāng)用戶啟動(dòng)某一應(yīng)用時(shí),可以在應(yīng)用啟動(dòng)的同時(shí),根據(jù)統(tǒng)計(jì)的該應(yīng)用啟動(dòng)時(shí)所需內(nèi)存的峰值對系統(tǒng)進(jìn)行優(yōu)化。進(jìn)而,在終端剩余內(nèi)存中,為該應(yīng)用提供大于等于其運(yùn)行時(shí)所需的峰值內(nèi)存,以達(dá)到及時(shí)清理內(nèi)存、避免應(yīng)用運(yùn)行過程中出現(xiàn)卡頓現(xiàn)象的目的,從而實(shí)現(xiàn)應(yīng)用的流暢運(yùn)行,提升用戶體驗(yàn)。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(dsp)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的應(yīng)用啟動(dòng)裝置的功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
例如,圖8示出了可以實(shí)現(xiàn)根據(jù)本發(fā)明的應(yīng)用啟動(dòng)方法的計(jì)算設(shè)備。該計(jì)算設(shè)備傳統(tǒng)上包括處理器810和以存儲(chǔ)器820形式的計(jì)算機(jī)程序產(chǎn)品或者計(jì)算機(jī)可讀介質(zhì)。存儲(chǔ)器820可以是諸如閃存、eeprom(電可擦除可編程只讀存儲(chǔ)器)、eprom、硬盤或者rom之類的電子存儲(chǔ)器。存儲(chǔ)器820具有用于執(zhí)行上述方法中的任何方法步驟的程序代碼831的存儲(chǔ)空間830。例如,用于程序代碼的存儲(chǔ)空間830可以包括分別用于實(shí)現(xiàn)上面的方法中的各種步驟的各個(gè)程序代碼831。這些程序代碼可以從一個(gè)或者多個(gè)計(jì)算機(jī)程序產(chǎn)品中讀出或者寫入到這一個(gè)或者多個(gè)計(jì)算機(jī)程序產(chǎn)品中。這些計(jì)算機(jī)程序產(chǎn)品包括諸如硬盤,緊致盤(cd)、存儲(chǔ)卡或者軟盤之類的程序代碼載體。這樣的計(jì)算機(jī)程序產(chǎn)品通常為如參考圖9所示的便攜式或者固定存儲(chǔ)單元。該存儲(chǔ)單元可以具有與圖8的計(jì)算設(shè)備中的存儲(chǔ)器820類似布置的存儲(chǔ)段、存儲(chǔ)空間等。程序代碼可以例如以適當(dāng)形式進(jìn)行壓縮。通常,存儲(chǔ)單元包括執(zhí)行上述方法中的任何方法步驟的計(jì)算機(jī)可讀代碼831’,即可以由例如諸如810之類的處理器讀取的代碼,這些代碼當(dāng)由計(jì)算設(shè)備運(yùn)行時(shí),導(dǎo)致該計(jì)算設(shè)備執(zhí)行上面所描述的方法中的各個(gè)步驟。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
基于本發(fā)明的一個(gè)方面,還提供了a1、一種應(yīng)用啟動(dòng)方法,其特征在于,應(yīng)用于能夠安裝多應(yīng)用的終端,包括
根據(jù)所述終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
若所述終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,從所述剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存;
將調(diào)度出的內(nèi)存賦予該應(yīng)用,供該應(yīng)用啟動(dòng)及運(yùn)行。
a2、根據(jù)a1所述的方法,其中,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),因該應(yīng)用的運(yùn)行狀態(tài)其所占用的內(nèi)存動(dòng)態(tài)變動(dòng)。
a3、根據(jù)a1或a2所述的方法,其中,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),所述方法還包括:
檢測該應(yīng)用當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值;
若檢測出的內(nèi)存值大于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,將該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值更新為所述檢測出的內(nèi)存值,供下次該應(yīng)用啟動(dòng)時(shí)作為內(nèi)存分配的依據(jù)。
a4、根據(jù)a3所述的方法,其中,所述檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值,包括:在該應(yīng)用的運(yùn)行過程中,定期或不定期檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。
a5、根據(jù)a1-a4任一項(xiàng)所述的方法,其中,若所述終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,所述方法還包括:
對所述終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,釋放清理出的內(nèi)存,直至所述剩余內(nèi)存大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,以便為所述應(yīng)用賦予內(nèi)存進(jìn)行啟動(dòng)。
a6、根據(jù)a5所述的方法,其中,對所述終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,包括:
在所述終端的其他已運(yùn)行應(yīng)用中篩選出能夠關(guān)閉的多個(gè)應(yīng)用;
在篩選出的多個(gè)應(yīng)用中選擇出至少一個(gè)應(yīng)用,其中,選擇標(biāo)準(zhǔn)為:選擇出的至少一個(gè)應(yīng)用被關(guān)閉后釋放的內(nèi)存大于本次被調(diào)起的應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
關(guān)閉選擇出的至少一個(gè)應(yīng)用。
a7、根據(jù)a6所述的方法,其中,按如下至少之一的篩選策略在所述終端的其他已運(yùn)行應(yīng)用中進(jìn)行篩選:
應(yīng)用為非前臺(tái)應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為白名單應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為黑名單應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用正在上傳或下載數(shù)據(jù)時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用。
a8、根據(jù)a7所述的方法,其中,所述重要進(jìn)程包括:
具備尚未處理的通知消息的進(jìn)程;
正在進(jìn)行內(nèi)容播放的播放器進(jìn)程,包括音頻和/或視頻。
基于本發(fā)明的另一個(gè)方面,還提供了b9、一種應(yīng)用啟動(dòng)裝置,其特征在于,應(yīng)用于能夠安裝多應(yīng)用的終端,包括
預(yù)設(shè)置模塊,適于根據(jù)所述終端上已安裝的各應(yīng)用的歷史運(yùn)行狀態(tài),預(yù)設(shè)置各應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
獲取模塊,適于當(dāng)任一應(yīng)用被調(diào)起時(shí),獲取該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
調(diào)度模塊,適于若所述終端當(dāng)前剩余內(nèi)存值大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,從所述剩余內(nèi)存中調(diào)度出與等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值相同的內(nèi)存;以及,將調(diào)度出的內(nèi)存賦予該應(yīng)用,供該應(yīng)用啟動(dòng)及運(yùn)行。
b10、根據(jù)b9所述的裝置,其中,被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),因該應(yīng)用的運(yùn)行狀態(tài)其所占用的內(nèi)存動(dòng)態(tài)變動(dòng)。
b11、根據(jù)b9或b10所述的裝置,其中,所述裝置還包括:
檢測模塊,適于被調(diào)起的應(yīng)用處于運(yùn)行狀態(tài)時(shí),檢測該應(yīng)用當(dāng)前運(yùn)行時(shí)所占用的內(nèi)存值;
更新模塊,適于若檢測出的內(nèi)存值大于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,將該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值更新為所述檢測出的內(nèi)存值,供下次該應(yīng)用啟動(dòng)時(shí)作為內(nèi)存分配的依據(jù)。
b12、根據(jù)b11所述的裝置,其中,所述檢測模塊還適于:在該應(yīng)用的運(yùn)行過程中,定期或不定期檢測該應(yīng)用運(yùn)行時(shí)所占用的內(nèi)存值。
b13、根據(jù)b9-b12任一項(xiàng)所述的裝置,其中,所述裝置還包括:
清理模塊,適于若所述終端當(dāng)前剩余內(nèi)存值小于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,對所述終端其他已運(yùn)行應(yīng)用所占用的內(nèi)存執(zhí)行清理操作,釋放清理出的內(nèi)存,直至所述剩余內(nèi)存大于等于該應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值,以便為所述應(yīng)用賦予內(nèi)存進(jìn)行啟動(dòng)。
b14、根據(jù)b13所述的裝置,其中,所述清理模塊還適于:
在所述終端的其他已運(yùn)行應(yīng)用中篩選出能夠關(guān)閉的多個(gè)應(yīng)用;
在篩選出的多個(gè)應(yīng)用中選擇出至少一個(gè)應(yīng)用,其中,選擇標(biāo)準(zhǔn)為:選擇出的至少一個(gè)應(yīng)用被關(guān)閉后釋放的內(nèi)存大于本次被調(diào)起的應(yīng)用啟動(dòng)時(shí)所需的內(nèi)存最大值;
關(guān)閉選擇出的至少一個(gè)應(yīng)用。
b15、根據(jù)b14所述的裝置,其中,所述清理模塊按如下至少之一的篩選策略在所述終端的其他已運(yùn)行應(yīng)用中進(jìn)行篩選:
應(yīng)用為非前臺(tái)應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為白名單應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為黑名單應(yīng)用時(shí)能夠關(guān)閉該應(yīng)用;
應(yīng)用為不可關(guān)閉的重要進(jìn)程時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用正在上傳或下載數(shù)據(jù)時(shí)不能夠關(guān)閉該應(yīng)用;
應(yīng)用為終端活躍度最高的前n個(gè)應(yīng)用時(shí)不能夠關(guān)閉該應(yīng)用。
b16、根據(jù)b15所述的裝置,其中,所述重要進(jìn)程包括:
具備尚未處理的通知消息的進(jìn)程;
正在進(jìn)行內(nèi)容播放的播放器進(jìn)程,包括音頻和/或視頻。
基于本發(fā)明的另一個(gè)方面,還提供了c17、一種計(jì)算機(jī)程序,包括計(jì)算機(jī)可讀代碼,當(dāng)所述計(jì)算機(jī)可讀代碼在計(jì)算設(shè)備上運(yùn)行時(shí),導(dǎo)致所述計(jì)算設(shè)備執(zhí)行根據(jù)a1-a8中任一項(xiàng)所述的應(yīng)用啟動(dòng)方法。
基于本發(fā)明的另一個(gè)方面,還提供了d18、一種計(jì)算機(jī)可讀介質(zhì),其中存儲(chǔ)了如c17所述的計(jì)算機(jī)程序。
基于本發(fā)明的另一個(gè)方面,還提供了e19、一種移動(dòng)終端,包括處理器和存儲(chǔ)器:
所述存儲(chǔ)器用于執(zhí)行a1-a8任一項(xiàng)方法的程序,
所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。