048] 通過本發(fā)明實施例可在接收到輸入的目標(biāo)應(yīng)用啟動指令時,獲取終端預(yù)先記錄的 該目標(biāo)應(yīng)用平均每次使用時占用的第一內(nèi)存值,并判斷該第一內(nèi)存值是否大于或等于該終 端當(dāng)前可用的內(nèi)存值,若是,則獲取該終端預(yù)先記錄的當(dāng)前處于后臺運行狀態(tài)的各個應(yīng)用 的特征信息,進而根據(jù)該第一內(nèi)存值、該當(dāng)前可用的內(nèi)存值以及該各個應(yīng)用的特征信息,確 定該各個應(yīng)用中需進行內(nèi)存清理的應(yīng)用,并對該需進行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操 作,可以在應(yīng)用啟動過程中完成內(nèi)存清理操作,從而有效保證應(yīng)用的流暢運行。
[0049] 請參閱圖2,為本發(fā)明實施例提供的一種內(nèi)存清理方法的第二實施例流程示意圖。 本實施例中所描述的內(nèi)存清理方法,包括以下步驟:
[0050] S201、終端記錄所述終端上每一個應(yīng)用從安裝到當(dāng)前的使用次數(shù)、每次使用的時 長以及每次使用時占用的內(nèi)存值。
[0051] 其中,每次使用的時長可為應(yīng)用每一次從打開到完全退出經(jīng)歷的時長,也可為應(yīng) 用從打開到進入后臺運行經(jīng)歷的時長。
[0052] S202、所述終端根據(jù)所述使用次數(shù)和所述每次使用的時長,確定所述每一個應(yīng)用 平均每次使用的時長,以及根據(jù)所述使用次數(shù)和所述每次使用時占用的內(nèi)存值,確定所述 每一個應(yīng)用平均每次使用時占用的內(nèi)存值。
[0053] 具體的,終端可根據(jù)記錄的每一個應(yīng)用從安裝到現(xiàn)在,或者一段時間內(nèi)的使用次 數(shù)以及每次使用的時長,計算每一個應(yīng)用平均每次使用的時長,同時,還可根據(jù)記錄的每一 個應(yīng)用從安裝到現(xiàn)在,或者一段時間內(nèi)的使用次數(shù)以及每次使用時占用的內(nèi)存值,計算每 一個應(yīng)用平均每次使用時占用的內(nèi)存值。
[0054] S203、所述終端將所述使用次數(shù)、所述平均每次使用的時長和所述平均每次使用 時占用的內(nèi)存值設(shè)為所述每一個應(yīng)用的特征信息。
[0055] S204、當(dāng)接收到輸入的目標(biāo)應(yīng)用啟動指令時,所述終端獲取所述終端預(yù)先記錄的 所述目標(biāo)應(yīng)用平均每次使用時占用的第一內(nèi)存值。
[0056] 具體實現(xiàn)中,用戶可通過在觸摸屏上點擊目標(biāo)應(yīng)用的應(yīng)用圖標(biāo)的方式或者語音操 控方式或者手勢操控方式,輸入針對該目標(biāo)應(yīng)用的啟動指令,終端檢測到該啟動指令后,啟 動該目標(biāo)應(yīng)用并通過顯示屏顯示該目標(biāo)應(yīng)用的應(yīng)用界面,同時,終端獲取預(yù)先記錄的該目 標(biāo)應(yīng)用平均每次使用時占用的終端的第一內(nèi)存值。
[0057] S205、所述終端判斷所述第一內(nèi)存值是否大于或等于所述終端當(dāng)前可用的內(nèi)存 值,若是,則執(zhí)行步驟S206,若否,則結(jié)束本次流程。
[0058] 具體的,終端可首先獲取當(dāng)前可用的內(nèi)存值,即當(dāng)前未被應(yīng)用進程占用的內(nèi)存值, 進而將該第一內(nèi)存值與該當(dāng)前可用的內(nèi)存值進行比較,以確定該目標(biāo)應(yīng)用啟動后能否正常 運行,如果該第一內(nèi)存值小于該當(dāng)前可用的內(nèi)存值,表明該目標(biāo)應(yīng)用能夠正常運行;如果該 第一內(nèi)存值大于或等于該當(dāng)前可用的內(nèi)存值,表明當(dāng)前可用的內(nèi)存值不足以支持該目標(biāo)應(yīng) 用的正常運行,此時可執(zhí)行步驟S206。
[0059] 在一些可行的實施方式中,終端可具體判斷該當(dāng)前可用的內(nèi)存值減去該第一內(nèi)存 值得到的差值是否大于或等于預(yù)設(shè)的內(nèi)存閾值(如50M),以確定該目標(biāo)應(yīng)用啟動后能否流 暢運行,如果該差值大于或等于該預(yù)設(shè)的內(nèi)存閾值,表明該目標(biāo)應(yīng)用啟動后能夠流暢運行; 如果該差值小于該預(yù)設(shè)的內(nèi)存閾值,表明當(dāng)前可用的內(nèi)存值不足以支持該目標(biāo)應(yīng)用的流暢 運行,此時可執(zhí)行步驟S206。
[0060] S206、所述終端獲取所述終端預(yù)先記錄的當(dāng)前處于后臺運行狀態(tài)的各個應(yīng)用的特 征信息,所述特征信息包括使用次數(shù)、平均每次使用的時長和平均每次使用時占用的內(nèi)存 值。
[0061] S207、所述終端確定所述各個應(yīng)用中使用次數(shù)或平均每次使用的時長小于或等于 預(yù)設(shè)門限值的應(yīng)用,并根據(jù)所述第一內(nèi)存值、所述終端當(dāng)前可用的內(nèi)存值以及平均每次使 用時占用的內(nèi)存值,確定所述使用次數(shù)或平均每次使用的時長小于或等于預(yù)設(shè)門限值的應(yīng) 用中需進行內(nèi)存清理的應(yīng)用的目標(biāo)數(shù)量。
[0062] 具體實現(xiàn)中,終端可根據(jù)使用次數(shù)以及平均每次使用的時長判斷一個應(yīng)用是否為 用戶經(jīng)常使用的應(yīng)用,進而將該各個應(yīng)用中,使用次數(shù)小于或等于預(yù)設(shè)門限值(如5次),或 者平均每次使用的時長小于或等于預(yù)設(shè)門限值(如3分鐘),或者使用次數(shù)小于或等于預(yù)設(shè) 門限值(如5次)且平均每次使用的時長也小于或等于預(yù)設(shè)門限值(如3分鐘)的應(yīng)用確 定為可清理的應(yīng)用對象。
[0063] 進一步的,終端根據(jù)第一內(nèi)存值、該終端當(dāng)前可用的內(nèi)存值以及平均每次使用時 占用的內(nèi)存值,確定出該可清理的應(yīng)用對象中需進行內(nèi)存清理的應(yīng)用的目標(biāo)數(shù)量。
[0064] S208、所述終端按照預(yù)設(shè)的選取規(guī)則,從所述使用次數(shù)或平均每次使用的時長小 于或等于預(yù)設(shè)門限值的應(yīng)用中確定出所述目標(biāo)數(shù)量的應(yīng)用,并將所述目標(biāo)數(shù)量的應(yīng)用設(shè)為 所述需進行內(nèi)存清理的應(yīng)用。
[0065] 在一些可行的實施方式中,終端可記錄使用次數(shù)或平均每次使用的時長小于或等 于預(yù)設(shè)門限值的應(yīng)用中的每一個應(yīng)用進入后臺運行狀態(tài)的時間點,進而按照進入后臺運行 狀態(tài)的時間點從早到晚的順序,從該使用次數(shù)或平均每次使用的時長小于或等于預(yù)設(shè)門限 值的應(yīng)用中確定出該目標(biāo)數(shù)量的應(yīng)用,并將該目標(biāo)數(shù)量的應(yīng)用設(shè)為需進行內(nèi)存清理的應(yīng) 用,即在需要進行內(nèi)存清理時,該使用次數(shù)或平均每次使用的時長小于或等于預(yù)設(shè)門限值 的應(yīng)用中進入后臺運行越早的應(yīng)用越先被清理掉。
[0066] 在一些可行的實施方式中,終端可獲取使用次數(shù)或平均每次使用的時長小于或等 于預(yù)設(shè)門限值的應(yīng)用中的每一個應(yīng)用當(dāng)前占用的內(nèi)存值,進而按照當(dāng)前占用內(nèi)存值從大到 小的順序,從該使用次數(shù)或平均每次使用的時長小于或等于預(yù)設(shè)門限值的應(yīng)用中確定出該 目標(biāo)數(shù)量的應(yīng)用,并將該目標(biāo)數(shù)量的應(yīng)用設(shè)為需進行內(nèi)存清理的應(yīng)用,即在需要進行內(nèi)存 清理時,該使用次數(shù)或平均每次使用的時長小于或等于預(yù)設(shè)門限值的應(yīng)用中當(dāng)前占用的內(nèi) 存值越大的應(yīng)用越先被清理掉。
[0067] 在一些可行的實施方式中,終端也可隨機從該使用次數(shù)或平均每次使用的時長小 于或等于預(yù)設(shè)門限值的應(yīng)用中確定出該目標(biāo)數(shù)量的應(yīng)用,并將該目標(biāo)數(shù)量的應(yīng)用設(shè)為需進 行內(nèi)存清理的應(yīng)用。
[0068] S209、所述終端對所述需進行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操作。
[0069] 舉例來說,假設(shè)終端上安裝有5個應(yīng)用,分別為應(yīng)用A、B、C、D以及E,終端記錄的 從安裝到現(xiàn)在(或者最近的2個月內(nèi))這5個應(yīng)用的特征信息(包括使用次數(shù)、平均每次 使用的時長和平均每次使用時占用的內(nèi)存值)如表1所示:
[0070] 表 1
[0071]
[0072] 其中,應(yīng)用E未運行,而應(yīng)用A、B、C和D處于后臺運行狀態(tài),終端當(dāng)前可用的內(nèi)存 值為60M,在檢測到用戶輸入的針對應(yīng)用E的啟動指令時,終端首先獲取應(yīng)用E平均每次使 用時占用的內(nèi)存值100M,由于應(yīng)用E平均每次使用時占用的內(nèi)存值100M大于當(dāng)前可用的內(nèi) 存值60M,此時需要進行內(nèi)存清理,終端首先獲取應(yīng)用A、B、C和D各自的使用次數(shù)、平均每 次使用的時長和平均每次使用時占用的內(nèi)存值等特征信息,并通過對應(yīng)用A、B、C和D的使 用次數(shù)和/或平均每次使用的時長的比較確定出用戶較少使用的應(yīng)用,即應(yīng)用A、B和D,此 時根據(jù)應(yīng)用E平均每次使用時占用的內(nèi)存值100M和當(dāng)前可用的內(nèi)存值60M得出至少需要 釋放40M的內(nèi)存才能保證應(yīng)用E的正常運行,再根據(jù)應(yīng)用A、B和D的平均每次使用時占用 的內(nèi)存值可確定出將應(yīng)用A和B這兩個應(yīng)用從終端內(nèi)存中清理掉即可滿足應(yīng)用E的正常運 行,此時的可用內(nèi)存值等于應(yīng)用E平均每次使用時占用的內(nèi)存值100M。
[0073] 進一步的,為保證應(yīng)用E更加流暢的運行,終端可通過再清理一些后臺應(yīng)用使得 可用內(nèi)存值與應(yīng)用E平均每次使用時占用的內(nèi)存值100M大于某個預(yù)設(shè)內(nèi)存閾值(如20M), 從而終端再將應(yīng)用D清理掉以使得可用內(nèi)存值為125M,比應(yīng)用E平均每次使用時占用的內(nèi) 存值100M多出25M,從而可保證應(yīng)用E更加流暢的運行。
[0074] 通過本發(fā)明實施例可根據(jù)記錄的終端上每一個應(yīng)用從安裝到當(dāng)前的使用次數(shù)和 每次使用的時長確定該每一個應(yīng)用平均每次使用的時長,以及根據(jù)該使用次數(shù)和該每次使 用時占用的內(nèi)存值確定該每一個應(yīng)用平均每次使用時占用的內(nèi)存值,進而將該使用次數(shù)、 該平均每次使用的時長和該平均每次使用時占用的內(nèi)存值設(shè)為該每一個應(yīng)用的特征信息; 在接收到輸入的目標(biāo)應(yīng)用啟動指令時,獲取預(yù)先記錄的該目標(biāo)應(yīng)用平均每次使用時占用的 第一內(nèi)存值,并判斷該第一內(nèi)存值是否大于或等于終端當(dāng)前可用的內(nèi)存值,若是,則獲取預(yù) 先記錄的該終端上當(dāng)前處于后臺運行狀態(tài)的第一應(yīng)用的特征信息,該特征信息包括使用次 數(shù)、平均每次使用的時長和平均每次使用時占用的內(nèi)存值,確定該各個應(yīng)用中使用次數(shù)或 平均每次使用的時長小于或等于預(yù)設(shè)門限值的應(yīng)用,并根據(jù)該第一內(nèi)存值、該終端當(dāng)前可 用的內(nèi)存值以及平均每次使用時占用的內(nèi)存值,確定該使用次數(shù)或平均每次使用的時長小 于或等于預(yù)設(shè)門限值的應(yīng)用中需進行內(nèi)存清理的應(yīng)用的目標(biāo)數(shù)量,按照預(yù)設(shè)的選取規(guī)則確 定出該目標(biāo)數(shù)量的應(yīng)用,并將該目標(biāo)數(shù)量的應(yīng)用設(shè)為需進行內(nèi)存清理的應(yīng)用,進而對該需 進行內(nèi)存清理的應(yīng)用執(zhí)行內(nèi)存清理操作,可以在應(yīng)用啟動過程中完成內(nèi)存清理操作,從而 有效保證應(yīng)用的流暢運行。
[0075] 請參閱圖3,為本發(fā)明實施例提供的一種內(nèi)存清理方法的第三實施例流程示意圖。 本實施例中所描述的內(nèi)存清理方法,包括以下步驟:
[0076] S301、當(dāng)接收到輸入的目標(biāo)應(yīng)用啟動指令時,終端獲取所述終端預(yù)先記錄的所述 目標(biāo)應(yīng)用平均每次使用時占用的第一內(nèi)存值。
[0077] 具體實現(xiàn)中,用戶可通過在觸摸屏上點擊目標(biāo)應(yīng)用的應(yīng)用圖標(biāo)的方式或者語音操 控方式或者手勢操控方式,輸入針對該目標(biāo)應(yīng)用的啟動指令,終端檢測到該啟動指令后,啟 動該目標(biāo)應(yīng)用并通過顯示屏顯示該目標(biāo)應(yīng)用的應(yīng)用界面,同時,終端獲取預(yù)先記錄的該目 標(biāo)應(yīng)用平均每次使用時占用的終端的第一內(nèi)存值。
[0078] S302、所述終端判斷所述第一內(nèi)存值是否大于或等于所述終端當(dāng)前可用的內(nèi)存 值,若是,則執(zhí)行步驟S303,若否,則結(jié)束本次流程。
[0079] 具體的,終端可首先獲取當(dāng)前可用的內(nèi)存值,即當(dāng)前未被應(yīng)用進程占用的內(nèi)存值, 進而將該第一內(nèi)存值與該當(dāng)前可用的內(nèi)存值進行比較,以確定該目標(biāo)應(yīng)用啟動后能否正常 運行,如果該第一內(nèi)存值小于該當(dāng)前可用的內(nèi)存值,表明該目標(biāo)應(yīng)用能夠正常運行;如果該 第一內(nèi)存值大于或等于該當(dāng)前可用的內(nèi)存值,表明當(dāng)前可用的內(nèi)存值不足以支持該目標(biāo)應(yīng) 用的正常運行,此時可執(zhí)行步驟S303。
[0080] 在一些可行的實施方式中,終端可具體判斷該當(dāng)前可用的內(nèi)存值減去該第一內(nèi)存 值得到的差值是否大于或等于預(yù)設(shè)的內(nèi)存閾值(如50M),以確定該目標(biāo)應(yīng)用啟動后能否流 暢運行,如果該差值大于或等于該預(yù)設(shè)的內(nèi)存閾值,表明該目標(biāo)應(yīng)用啟動后能夠流暢運行; 如果該差值小于該預(yù)設(shè)的內(nèi)存閾值,表明當(dāng)前可用的內(nèi)存值不足以支持該目標(biāo)應(yīng)用的流暢 運行,此時可執(zhí)行步驟S303。
[0081] S303、所述終端獲取所述終端預(yù)先記錄的當(dāng)前處于后臺運行狀態(tài)的各個應(yīng)用的特 征信息,所述特征信息包括使用次數(shù)、平均每次使用的時長和平均每次使用時占用的內(nèi)存 值。
[0082] S304、所述終端根據(jù)所述第一內(nèi)存值、所述終端當(dāng)前可用的內(nèi)存值以及所述各個 應(yīng)用的特征信息,確定所述各個應(yīng)