一種內(nèi)存清理方法及終端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及內(nèi)存管理技術(shù)領(lǐng)域,具體涉及一種內(nèi)存清理方法及終端。
【背景技術(shù)】
[0002] 目前,用戶一般會(huì)在自己的智能手機(jī)、平板電腦等移動(dòng)終端上安裝有較多的應(yīng)用 軟件,以滿足工作和生活的需要,比如辦公類應(yīng)用軟件、社交類應(yīng)用軟件、娛樂類應(yīng)用軟件 以及理財(cái)類應(yīng)用軟件等。在移動(dòng)終端的使用過程中,如果用戶同時(shí)開啟多個(gè)應(yīng)用軟件,特別 是開啟了占用內(nèi)存較多的應(yīng)用軟件時(shí),由于移動(dòng)終端的內(nèi)存資源有限,此時(shí)的內(nèi)存占用率 很大,會(huì)導(dǎo)致應(yīng)用軟件的運(yùn)行出現(xiàn)較為明顯的卡頓現(xiàn)象,而移動(dòng)終端對(duì)于用戶操作的反應(yīng) 也會(huì)變慢。
[0003] 現(xiàn)有技術(shù)中,一般只有在移動(dòng)終端的內(nèi)存占用率比較大時(shí),才會(huì)觸發(fā)操作系統(tǒng)釋 放一部分內(nèi)存資源,比如將當(dāng)前后臺(tái)運(yùn)行的某些應(yīng)用軟件轉(zhuǎn)移至swap分區(qū)(即交換分區(qū)), 以保證當(dāng)前運(yùn)行的應(yīng)用軟件的流暢度。然而,這種內(nèi)存清理方式仍然會(huì)使用戶在應(yīng)用軟件 剛開啟的一段時(shí)間內(nèi)感受到較為明顯的卡頓現(xiàn)象,即內(nèi)存清理存在滯后性。因此,如何提供 一種能夠有效保持應(yīng)用軟件流暢運(yùn)行的內(nèi)存清理方式已成為亟待解決的問題。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例提供了一種內(nèi)存清理方法及終端,可以在應(yīng)用啟動(dòng)過程中完成內(nèi)存 清理操作,從而有效保證應(yīng)用的流暢運(yùn)行。
[0005] 本發(fā)明實(shí)施例第一方面提供了一種內(nèi)存清理方法,包括:
[0006] 當(dāng)接收到輸入的目標(biāo)應(yīng)用啟動(dòng)指令時(shí),獲取終端預(yù)先記錄的所述目標(biāo)應(yīng)用平均每 次使用時(shí)占用的第一內(nèi)存值,并判斷所述第一內(nèi)存值是否大于或等于所述終端當(dāng)前可用的 內(nèi)存值;
[0007] 若所述第一內(nèi)存值大于或等于所述終端當(dāng)前可用的內(nèi)存值,則獲取所述終端預(yù)先 記錄的當(dāng)前處于后臺(tái)運(yùn)行狀態(tài)的各個(gè)應(yīng)用的特征信息,所述特征信息包括使用次數(shù)、平均 每次使用的時(shí)長和平均每次使用時(shí)占用的內(nèi)存值;
[0008] 根據(jù)所述第一內(nèi)存值、所述終端當(dāng)前可用的內(nèi)存值以及所述各個(gè)應(yīng)用的特征信 息,確定所述各個(gè)應(yīng)用中需進(jìn)行內(nèi)存清理的應(yīng)用;
[0009] 對(duì)所述需進(jìn)行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操作。
[0010] 本發(fā)明實(shí)施例第二方面提供了一種終端,包括:
[0011] 接收單元,用于接收輸入的目標(biāo)應(yīng)用啟動(dòng)指令;
[0012] 獲取單元,用于在所述接收單元接收到所述目標(biāo)應(yīng)用啟動(dòng)指令時(shí),獲取終端預(yù)先 記錄的所述目標(biāo)應(yīng)用平均每次使用時(shí)占用的第一內(nèi)存值;
[0013] 判斷單元,用于判斷所述第一內(nèi)存值是否大于或等于所述終端當(dāng)前可用的內(nèi)存 值;
[0014]所述獲取單元,還用于在所述判斷單元判斷出所述第一內(nèi)存值大于或等于所述終 端當(dāng)前可用的內(nèi)存值時(shí),獲取所述終端預(yù)先記錄的當(dāng)前處于后臺(tái)運(yùn)行狀態(tài)的各個(gè)應(yīng)用的特 征信息,所述特征信息包括使用次數(shù)、平均每次使用的時(shí)長和平均每次使用時(shí)占用的內(nèi)存 值;
[0015] 處理單元,用于根據(jù)所述第一內(nèi)存值、所述終端當(dāng)前可用的內(nèi)存值以及所述各個(gè) 應(yīng)用的特征信息,確定所述各個(gè)應(yīng)用中需進(jìn)行內(nèi)存清理的應(yīng)用;
[0016] 執(zhí)行單元,用于對(duì)所述需進(jìn)行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操作。
[0017] 通過本發(fā)明實(shí)施例可在接收到輸入的目標(biāo)應(yīng)用啟動(dòng)指令時(shí),獲取終端預(yù)先記錄的 該目標(biāo)應(yīng)用平均每次使用時(shí)占用的第一內(nèi)存值,并判斷該第一內(nèi)存值是否大于或等于該終 端當(dāng)前可用的內(nèi)存值,若是,則獲取該終端預(yù)先記錄的當(dāng)前處于后臺(tái)運(yùn)行狀態(tài)的各個(gè)應(yīng)用 的特征信息,進(jìn)而根據(jù)該第一內(nèi)存值、該當(dāng)前可用的內(nèi)存值以及該各個(gè)應(yīng)用的特征信息,確 定該各個(gè)應(yīng)用中需進(jìn)行內(nèi)存清理的應(yīng)用,并對(duì)該需進(jìn)行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操 作,可以在應(yīng)用啟動(dòng)過程中完成內(nèi)存清理操作,從而有效保證應(yīng)用的流暢運(yùn)行。
【附圖說明】
[0018] 為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng) 域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附 圖。
[0019] 圖1是本發(fā)明實(shí)施例提供的一種內(nèi)存清理方法的第一實(shí)施例流程示意圖;
[0020] 圖2是本發(fā)明實(shí)施例提供的一種內(nèi)存清理方法的第二實(shí)施例流程示意圖;
[0021] 圖3是本發(fā)明實(shí)施例提供的一種內(nèi)存清理方法的第三實(shí)施例流程示意圖;
[0022] 圖4是本發(fā)明實(shí)施例提供的一種終端的第一實(shí)施例結(jié)構(gòu)示意圖;
[0023] 圖5是本發(fā)明實(shí)施例提供的一種終端的第二實(shí)施例結(jié)構(gòu)示意圖;
[0024] 圖6是本發(fā)明實(shí)施例提供的一種終端的第三實(shí)施例結(jié)構(gòu)示意圖;
[0025] 圖7是本發(fā)明實(shí)施例提供的一種終端的第四實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā) 明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0027] 本發(fā)明實(shí)施例中的終端可以包括智能手機(jī)(如Android手機(jī)、iOS手機(jī)、Windows Phone手機(jī)等)、平板電腦、掌上電腦、筆記本電腦、移動(dòng)互聯(lián)網(wǎng)設(shè)備(MID,Mobile Internet Devices)或穿戴式設(shè)備等,上述終端僅是舉例,而非窮舉,包含但不限于上述終端。
[0028] 請(qǐng)參閱圖1,為本發(fā)明實(shí)施例提供的一種內(nèi)存清理方法的第一實(shí)施例流程示意圖。 本實(shí)施例中所描述的內(nèi)存清理方法,包括以下步驟:
[0029] S101、當(dāng)接收到輸入的目標(biāo)應(yīng)用啟動(dòng)指令時(shí),終端獲取所述終端預(yù)先記錄的所述 目標(biāo)應(yīng)用平均每次使用時(shí)占用的第一內(nèi)存值。
[0030] 其中,該終端上可安裝各類應(yīng)用,如社交類應(yīng)用(包括QQ、微信等),娛樂類應(yīng)用 (包括天天飛車、全民飛機(jī)大戰(zhàn)等),辦公類應(yīng)用(包括百度云、WPS Office等),視頻類應(yīng) 用(包括優(yōu)酷、騰訊視頻等),購物類應(yīng)用(包括淘寶、京東等)以及支付理財(cái)類應(yīng)用(包括 支付寶錢包、挖財(cái)記賬等),等等。
[0031] 在一些可行的實(shí)施方式中,在終端安裝的每個(gè)應(yīng)用的使用過程中,終端可記錄每 個(gè)應(yīng)用的運(yùn)行參數(shù),該運(yùn)行參數(shù)可包括每次運(yùn)行占用的終端的內(nèi)存值,進(jìn)而可得到每個(gè)應(yīng) 用從安裝到現(xiàn)在,或者一段時(shí)間內(nèi)的使用次數(shù)、平均每次使用的時(shí)長以及平均每次使用時(shí) 占用的內(nèi)存值等特征信息,這些特征信息可以應(yīng)用使用記錄表的形式存儲(chǔ)。
[0032] 需要說明的是,本實(shí)施例中的終端內(nèi)存是指終端的運(yùn)行內(nèi)存,即隨機(jī)存取存儲(chǔ)器 RAM(英文全稱:Random Access Memory),應(yīng)用運(yùn)行時(shí)的一些應(yīng)用數(shù)據(jù)以及緩存數(shù)據(jù)等會(huì)占 用終端一定的內(nèi)存值(即內(nèi)存空間)。
[0033] 具體實(shí)現(xiàn)中,用戶可通過在觸摸屏上點(diǎn)擊目標(biāo)應(yīng)用的應(yīng)用圖標(biāo)的方式或者語音操 控方式或者手勢(shì)操控方式,輸入針對(duì)該目標(biāo)應(yīng)用的啟動(dòng)指令,終端檢測(cè)到該啟動(dòng)指令后,啟 動(dòng)該目標(biāo)應(yīng)用并通過顯示屏顯示該目標(biāo)應(yīng)用的應(yīng)用界面,同時(shí),終端獲取預(yù)先記錄的該目 標(biāo)應(yīng)用平均每次使用時(shí)占用的終端的第一內(nèi)存值。
[0034] 需要指出的是,該顯示屏可集成到該觸摸屏中,從而該觸摸屏可集觸控和顯示功 能于一體,即在本發(fā)明實(shí)施例中,終端的觸摸屏即可用作觸控面板提供給用戶進(jìn)行觸摸、點(diǎn) 擊等操作,還可用作顯示屏,向終端用戶展現(xiàn)相應(yīng)的數(shù)據(jù)信息。
[0035] S102、所述終端判斷所述第一內(nèi)存值是否大于或等于所述終端當(dāng)前可用的內(nèi)存 值,若是,則執(zhí)行步驟S103,若否,則結(jié)束本次流程。
[0036] 具體的,終端可首先獲取當(dāng)前可用的內(nèi)存值,即當(dāng)前未被應(yīng)用進(jìn)程占用的內(nèi)存值, 進(jìn)而將該第一內(nèi)存值與該當(dāng)前可用的內(nèi)存值進(jìn)行比較,以確定該目標(biāo)應(yīng)用啟動(dòng)后能否正常 運(yùn)行,如果該第一內(nèi)存值小于該當(dāng)前可用的內(nèi)存值,表明該目標(biāo)應(yīng)用能夠正常運(yùn)行;如果該 第一內(nèi)存值大于或等于該當(dāng)前可用的內(nèi)存值,表明當(dāng)前可用的內(nèi)存值不足以支持該目標(biāo)應(yīng) 用的正常運(yùn)行,此時(shí)可執(zhí)行步驟S103。
[0037] 在一些可行的實(shí)施方式中,終端可具體判斷該當(dāng)前可用的內(nèi)存值減去該第一內(nèi)存 值得到的差值是否大于或等于預(yù)設(shè)的內(nèi)存閾值(如50M),以確定該目標(biāo)應(yīng)用啟動(dòng)后能否流 暢運(yùn)行,如果該差值大于或等于該預(yù)設(shè)的內(nèi)存閾值,表明該目標(biāo)應(yīng)用啟動(dòng)后能夠流暢運(yùn)行; 如果該差值小于該預(yù)設(shè)的內(nèi)存閾值,表明當(dāng)前可用的內(nèi)存值不足以支持該目標(biāo)應(yīng)用的流暢 運(yùn)行,此時(shí)可執(zhí)行步驟S103。
[0038] 舉例來說,以終端是手機(jī),該目標(biāo)應(yīng)用是游戲應(yīng)用A為例,預(yù)設(shè)的內(nèi)存閾值為50M, 手機(jī)記錄的游戲應(yīng)用A平均每次使用時(shí)占用的第一內(nèi)存值為200M,假設(shè)手機(jī)當(dāng)前可用的內(nèi) 存值為230M,此時(shí)手機(jī)當(dāng)前可用的內(nèi)存值230M減去游戲應(yīng)用A平均每次使用時(shí)占用的第一 內(nèi)存值200M的差值為30M,由于30M小于預(yù)設(shè)的內(nèi)存閾值50M,此時(shí)并不能保證該游戲應(yīng)用 A在整個(gè)使用過程中都能流暢運(yùn)行,因此手機(jī)需釋放一部分內(nèi)存資源,可執(zhí)行步驟S103。
[0039] S103、所述終端獲取所述終端預(yù)先記錄的當(dāng)前處于后臺(tái)運(yùn)行狀態(tài)的各個(gè)應(yīng)用的特 征信息,所述特征信息包括使用次數(shù)、平均每次使用的時(shí)長和平均每次使用時(shí)占用的內(nèi)存 值。
[0040] 具體實(shí)現(xiàn)中,終端確定當(dāng)前處于后臺(tái)運(yùn)行狀態(tài)的各個(gè)應(yīng)用,進(jìn)而從預(yù)先生成的應(yīng) 用使用記錄表中獲取該各個(gè)應(yīng)用的使用次數(shù)、平均每次使用的時(shí)長和平均每次使用時(shí)占用 的內(nèi)存值等特征信息。
[0041] S104、所述終端根據(jù)所述第一內(nèi)存值、所述終端當(dāng)前可用的內(nèi)存值以及所述各個(gè) 應(yīng)用的特征信息,確定所述各個(gè)應(yīng)用中需進(jìn)行內(nèi)存清理的應(yīng)用。
[0042] 具體實(shí)現(xiàn)中,終端可首先根據(jù)該目標(biāo)應(yīng)用平均每次使用時(shí)占用的第一內(nèi)存值以及 當(dāng)前可用的內(nèi)存值,確定需要通過清理后臺(tái)運(yùn)行應(yīng)用而得到的內(nèi)存值,再根據(jù)使用次數(shù)以 及平均每次使用的時(shí)長確定出該各個(gè)應(yīng)用中用戶很少使用、使用時(shí)長較短的應(yīng)用,進(jìn)而將 該各個(gè)應(yīng)用中用戶很少使用、使用時(shí)長較短的應(yīng)用作為可清理的應(yīng)用對(duì)象,并獲取這些可 清理的應(yīng)用對(duì)象中每一個(gè)應(yīng)用平均每次使用時(shí)占用的內(nèi)存值,進(jìn)而得到這些可清理的應(yīng)用 對(duì)象中需要清理的應(yīng)用數(shù)量。
[0043] 在一些可行的實(shí)施方式中,終端可按照這些可清理的應(yīng)用對(duì)象中的應(yīng)用進(jìn)入后臺(tái) 運(yùn)行的時(shí)間從早到晚的順序,得到需要清理的應(yīng)用數(shù)量,即最先進(jìn)入后臺(tái)運(yùn)行的該應(yīng)用數(shù) 量的應(yīng)用會(huì)被清理。
[0044] 在一些可行的實(shí)施方式中,終端可按照這些可清理的應(yīng)用對(duì)象中的應(yīng)用當(dāng)前在后 臺(tái)占用的內(nèi)存值從大到小的順序,得到需要清理的應(yīng)用數(shù)量,即當(dāng)前在后臺(tái)占用的內(nèi)存值 從大到小排列后,排在前面的該應(yīng)用數(shù)量的應(yīng)用會(huì)被清理。
[0045] 需要說明的是,對(duì)于用戶設(shè)為后臺(tái)保護(hù)狀態(tài)的應(yīng)用(即這些應(yīng)用在后臺(tái)運(yùn)行時(shí)不 允許被清理掉),終端可不予清理。
[0046] S105、所述終端對(duì)所述需進(jìn)行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操作。
[0047] 具體的,終端可直接從內(nèi)存中清除需進(jìn)行內(nèi)存清理的應(yīng)用或者將該需進(jìn)行內(nèi)存清 理的應(yīng)用從終端的內(nèi)存轉(zhuǎn)移至終端的swap分區(qū),以實(shí)現(xiàn)對(duì)該需進(jìn)行內(nèi)存清理的應(yīng)用執(zhí)行 內(nèi)存清理操作,從而為該目標(biāo)應(yīng)用的運(yùn)行提供足夠的內(nèi)存資源。
[0