一種後臺應用程式的控制方法及裝置與流程
2023-06-14 13:49:46 1

本申請涉及終端技術,尤其涉及一種後臺應用程式的控制方法及裝置。
背景技術:
用戶在使用完畢終端中的應用程式時,通常會執行如切換至新的應用程式、返回主界面、或者鎖屏的操作,此時使用完畢的應用程式被切換至後臺;這些在後臺的應用程式會繼續運行,例如,與伺服器交換數據,監聽用戶動作等;在運行過程中,會持續佔用系統資源,例如,佔用系統內存、消耗數據流量、消耗終端電量等。
為避免使用完畢的應用程式繼續佔用系統資源,目前常用的解決方案是,當系統資源不足時,系統才對後臺應用程式進行回收,即,關閉後臺應用程式。
採用現有技術中的後臺應用程式控制方案,在系統資源不足時才關閉後臺應用程式,而在用戶關閉應用程式之前,後臺應用程式已消耗大量系統資源,並且在系統資源不足時,系統已經出現卡頓、拖慢等情況,影響用戶使用。
技術實現要素:
本申請實施例中提供了一種後臺應用程式的控制方法及裝置,用於解決現有技術中的應用程式控制方案耗費較多終端系統資源,影響用戶使用的問題。
根據本申請實施例的一個方面,提供了一種後臺應用程式的控制方法,包括:接收切換第一應用程式至後臺的指令;根據第一應用程式佔用的內存大小和/或使用頻率,確定第一定時器對應的第一時長;觸發第一應用程式對應的第一定時器開始計時;根據第一時長,對第一應用程式進行相應控制。
根據本申請實施例的另一個方面,提供了一種後臺應用程式的控制裝置,包括:指令接收模塊,用於接收切換第一應用程式至後臺的指令;第一時長確定模塊,用於根據第一應用程式佔用的內存大小和/或使用頻率,確定第一定時器對應的第一時長;計時模塊,用於觸發第一應用程式對應的第一定時器開始計時;控制模塊,用於根據第一時長,對第一應用程式進行相應控制。
採用本申請實施例中的後臺應用程式的控制方法,在應用程式切換至後臺時,根據該應用程式佔用的內存大小和/或使用頻率確定該定時器的計時時長,並觸發該應用程式對應的定時器開始計時,然後根據該時長對應用程式進行相應控制,使得終端能夠對佔用內存不同和/或使用頻率不同的應用程式進行不同的控制,減少了系統資源消耗,提升了用戶體驗。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用於解釋本申請,並不構成對本申請的不當限定。在附圖中:
圖1為本申請實施例一的後臺應用程式的控制方法的流程圖;
圖2為本申請實施例二的後臺應用程式的控制方法的流程圖;
圖3示出的是本申請實施例三的後臺應用程式的控制裝置的結構示意圖。
具體實施方式
為了使本申請實施例中的技術方案及優點更加清楚明白,以下結合附圖對本申請的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本申請的一部分實施例,而不是所有實施例的窮舉。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。
在實現本申請的過程中,發明人發現,在系統資源不足時才關閉後臺應用程式,而在用戶關閉應用程式之前,後臺應用程式已消耗大量系統資源,並且在系統資源不足時,系統已經出現卡頓、拖慢等情況,影響用戶使用。
另外,在實現本申請的過程中,發明人還發現,相關技術中還提供了另一種後臺應用程式的控制方法,在屏幕關閉之後強制關閉沒有被系統或用戶設置為保護應用的應用程式,發明人認為,採用這此方法比較生硬,如果用戶立即喚醒並調用後臺應用程式,會發現已經被強制關閉,需要重新打開,導致消耗更多的終端資源,並且用戶體驗較差。
針對上述問題,本申請實施例中提供了一種後臺應用程式的控制方案,在應用程式切換至後臺時,根據該應用程式佔用的內存大小和/或使用頻率確定該定時器的計時時長,並觸發該應用程式對應的定時器開始計時,然後根據該時長對應用程式進行相應控制,使得終端能夠對佔用內存不同和/或使用頻率不同的應用程式進行不同的控制,減少了系統資源消耗,提升了用戶體驗。
本申請實施例中的方案可以應用於終端的作業系統,如雲OS(Operation system,作業系統),蘋果的IOS,安卓系統等,也可以應用於應用程式控制應用中,如安全中心、手機加速管家等。
實施例一
圖1為本申請實施例一的後臺應用程式的控制方法的流程圖。
如圖1所示,根據本申請實施例一的後臺應用程式的控制方法包括以下步驟:
S101,接收切換第一應用程式至後臺的指令;
S102,根據第一應用程式佔用的內存大小和/或使用頻率,確定第一定時器對應的第一時長;
S103,觸發第一應用程式對應的第一定時器開始計時;
S104,根據第一時長,對第一應用程式進行相應控制。
在具體實施時,切換第一應用程式至後臺的指令,可以包括:切換其他應用程式至前臺的指令、或者鎖屏指令、或者返回主界面的指令。
在S102的第一種具體實施方式中,可以根據第一應用程式佔用的內存大小,確定所述第一定時器對應的第一時長,具體方式如下:獲取第一應用程式 佔用的內存大小;根據第一應用程式佔用的內存大小,確定對應的內存係數;根據下式確定第一時長:第一時長=預設基礎時長*內存係數。具體的,可以採用以下方式確定內存係數:當第一應用程式佔用的內存大小小於或等於第一預設值時,確定應用程式對應的內存係數為第一值;當第一應用程式佔用的內存大小大於或等於第二預設值時,確定應用程式對應的內存係數為第二值;否則,確定第一應用程式對應的內存係數為第三值。具體地,該預設基礎時長、該第一預設值、第二預設值、第一值、第二值、第三值均為預先設置的值,可以是經驗值,也可以是根據終端中的所有應用程式佔用內存大小計算得到的值,本申請對此不作限制。
例如,該預設基礎時長可以設置為30分鐘,20分鐘等時長。當第一應用程式佔用的內存在30M以上時,可以將該應用程式的內存係數設置為0.2;當第一應用程式佔用的內存在10M以下時,可以將該應用程式的內存係數設置為2:當該第一應用程式佔用的內存在10M至30M之間時,可以將該應用程式的內存係數設置為1。
例如,第一應用程式在切換至後臺時,佔用內存為8M,預設基礎時長為30分鐘,當該第一應用程式在切換至後臺時,對應的第一時長為60分鐘。
在S102的第二種具體實施方式中,還可以根據第一應用程式的使用頻率,確定第一定時器對應的第一時長,具體方式如下:獲取第一應用程式的使用頻率;根據應用程式的使用頻率,確定對應的使用頻率係數;根據下式確定第一時長:第一時長=預設基礎時長*使用頻率係數。具體地,可以採用以下方式根據第一應用程式的使用頻率,確定對應的使用頻率係數:分別記錄終端各應用程式切換至前臺的次數,並得到所有應用程式切換至前臺的總次數;根據總次數和切換至前臺的應用程式的數量,確定平均使用次數;該第一應用程式對應的使用頻率係數=第一應用程式切換至前臺的次數/平均使用次數。具體地,終端各應用程式切換至前臺的次數,可以是終端從首次啟動以來記錄的所有應用程式切換至前臺的次數,也可以是終端本次開機以來記錄的所有應用程式切換 至前臺的次數。
例如,終端本次開機,切換至前臺的應用程式共有5個,所有應用程式切換至前臺共100次,可以得到應用程式切換至前臺的平均使用次數為20次;該第一應用程式切換至前臺30次,計算得到該第一應用程式對應的使用頻率係數為30/20=1.5。假設預設基礎時長為30分鐘,則當該第一應用程式在切換至後臺時,對應的第一時長為45分鐘。
在S102的第三種具體實施方式中,還可以根據第一應用程式佔用的內存大小和使用頻率,確定第一定時器對應的第一時長,具體方式如下:獲取第一應用程式佔用的內存大小和使用頻率;根據第一應用程式佔用的內存大小,確定對應的內存係數;根據第一應用程式的使用頻率,確定對應的使用頻率係數;根據下式確定第一時長:第一時長=預設基礎時長*內存係數*使用頻率係數。
具體地,可以採用S102的第一種具體實施方式中獲取內存係數的方法,以及S102的第二種具體實施方式中獲取使用頻率係數的方法來獲取內存係數和使用頻率係數,重複之處不再贅述。
例如,預設基礎時長為30分鐘,第一應用程式在切換至後臺時,獲取該應用程式內存係數為2,使用頻率係數為1.5,則計算得到該第一應用程式對應的第一時長為90分鐘。
在步驟S103的第一種具體實施方式中,還可以在第一定時器計時至該第一時長之前,檢測第一應用程式是否切換至前臺;若第一應用程式切換至前臺,則觸發第一定時器停止計時,並將計時清零;若第一應用程式未切換至前臺,則對第一應用程式進行相應控制。
在步驟S103的第二種具體實施方式中,還可以記錄在第一定時器計時期間,切換至後臺的第二應用程式的數量;根據在第一定時器計時期間,切換至後臺的第二應用程式的數量和第一時長,對第一應用程式進行相應控制。
具體地,在步驟S103的第二種具體實施方式的第一實施例中,若在第一定時器計時期間,切換至後臺的第二應用程式的數量為N;當N+1大於預定的 數量M時,關閉該第一應用程式,並觸發第一定時器停止計時。即,如果在第一定時器計時期間,切換至後臺的所有應用程式的數量超過預定的數量時,直接將關閉最早切換至後臺的該第一應用程式。在具體實施時,該預定的數量M可以是預先設置的值,例如,10,15等。
在步驟S103的第二種具體實施方式的第二實施例中,若在第一定時器計時期間,切換至後臺的第二應用程式的數量為N;當N+1小於或等於預定的數量時,根據第一時長和所述N確定第二時長,並在第一定時器計時等於或超過第二時長時,關閉第一應用程式,並觸發第一定時器停止計時。即,在第一定時器計時期間,如果切換至後臺的所有應用程式的數量未超過預定的數量時,根據該第一時長和切換至後臺的應用程式的數量來確定第二時長,並在第一定時器計時等於或超過該第二時長時,關閉該第一應用程式。
具體地,如果N=0,則第二時長=第一時長。即,在第一時長期間,如果只有該第一應用程式在後臺運行,則計時到第一時長後,關閉該第一應用程式。如果如果N不等於0,則第二時長=第一時長*預定係數/N,其中,預定係數為小於1的正數。即,如果在第一時長期間,如果有新的其他應用程式切換至後臺運行,則根據其他應用程式的數量和第一時長重新計算該第一應用程式對應的第二時長,並在第一定時器計時等於或超過該第二時長時,關閉該第一應用程式。
例如,預設基礎時長為30分鐘,假設預定可以在後臺運行的應用程式數量為10,預定係數為2/3;第一應用程式在切換至後臺時,獲取該應用程式對應的內存係數為2,使用頻率係數為1.5,則計算得到該第一應用程式對應的第一時長為90分鐘;在計時至10分鐘時,有1個其他應用程式切換至後臺,此時,觸發針對該其他應用程式的計時,也觸發針對該第一應用程式的第二時長的計算;該第二時長=90*2/3=60分鐘;第一定時器繼續計時,在計時至第30分鐘時,又有3個新的其他應用程式切換至後臺,此時,該第二時長=90*2/3*1/4=15分鐘,由於第一定時器的計時時長已超過第二時長,所以可以 關閉該第一應用程式。
根據上述實施例可知,在每一個應用程式切換至後臺時,將觸發針對在後臺運行的每個應用程式重新計算第二時長。
因此,為減少計算量,在具體實施時,可以在終端維護一個長度等於預定數量M的隊列,該隊列不同位置對應於不同的基礎時長,該基礎時長=第一個位置的基礎時長*預定係數/(n-1),n為2至M的自然數,當n為1時,該第一個位置的基礎時長可以是預設的值,例如,30分鐘等;該預定係數可以設置為大於0小於1的正數,從而可以預先計算得到該隊列中每個位置對應的基礎時長。這樣,每一個切換至後臺運行的應用程式均從隊頭進入該隊列,當有新的應用程式切換至後臺時,將之前切換至後臺的應用程式依次擠向隊尾,從而可以根據每個應用程式在隊列中的位置、以及該應用程式佔用的內存和/或其使用頻率來確定其對應的計時時長,並根據該時長對其進行相應控制。
例如,終端維護一個長度為4的隊列,第一個位置的基礎時長為30分鐘,預定係數為2/3;則第二個位置的基礎時長為20分鐘,第三個位置的基礎時長為10分鐘,第四個位置的基礎時長為20/3分鐘。當第一應用程式剛切換至後臺時,獲取該應用程式對應的內存係數為2,使用頻率係數為1.5,則計算得到該第一應用程式對應的第一時長30*2*1.5=90分鐘;當有新的應用程式切換至後臺時,將該第一應用程式擠往隊列的第二個位置,此時,重新計算第一應用程式的第二時長為20*2*1.5=60分鐘;當第一應用程式排在隊列的第三個位置時,再次計算第一應用程式的第二時長為10*2*1.5=30分鐘等。
在具體實施時,為避免頻繁關閉後臺應用程式,還可以在根據第一時長,對第一應用程式進行相應控制之前,預先確定用戶停止操作達第一預定時長;或者確定用戶停止切換應用程式達第二預定時長。即,可以在用戶停止操作一段時間,例如,鎖屏30分鐘;或者用戶停止切換應用程式達到一段時間,例如,用戶停留在某一應用程式上達到5分鐘後,再判斷哪些後臺應用程式已達到關閉的條件,例如,在第一應用程式之後切換至後臺的應用程式已超過預定 數量;該第一應用程式對應的第一定時器的計時時長已超過第二時長等。
採用本申請實施例中提供的後臺應用程式的控制方案,在應用程式切換至後臺時,根據該應用程式佔用的內存大小和/或使用頻率確定該定時器的計時時長,並觸發該應用程式對應的定時器開始計時,然後根據該時長對應用程式進行相應控制,使得終端能夠對佔用內存不同和/或使用頻率不同的應用程式進行不同的控制,減少了系統資源消耗,提升了用戶體驗。
在具體實施時,為避免誤關閉用戶還在使用的程序、系統運行需要的程序,或是用戶設置的保護應用,還可以在確定第一定時器對應的第一時長之後,根據第一時長,對第一應用程式進行相應控制之前,確定第一應用程式未被前臺應用程式調用;或者確定第一應用程式非系統默認或用戶預先設置的保護應用;或者確定第一應用程式未執行預定動作。具體地,如果該第一應用程式被前臺應用程式調用,或者是系統默認或用戶預先設置的保護應用,或者該第一應用程式正在執行預定動作,即使該第一應用程式對應的定時器計時至第一時長,也不關閉該應用程式。具體地,可以通過以下方式確定第一應用程式非系統默認或用戶預先設置的保護應用:獲取系統默認和用戶預先設置的保護應用列表;在列表中查詢所述第一應用程式;若未查詢到,則確定第一應用程式非系統默認或用戶預先設置的保護應用。具體地,預定動作可以包括:播放音樂、錄音、下載、或使用加速度傳感器。
在具體實施時,還可以在接收切換第一應用程式至後臺的指令之後,根據第一應用程式佔用的內存大小和/或使用頻率,確定第一定時器對應的第一時長之前,確定第一應用程式未被前臺應用程式調用;或者確定第一應用程式非系統默認或用戶預先設置的保護應用;或者確定第一應用程式未執行預定動作。具體地,如果該第一應用程式被前臺應用程式調用,或者是系統默認或用戶預先設置的保護應用,或者該第一應用程式正在執行預定動作,則不觸發針對該第一應用程式的計時,因此,也不會觸發關閉該應用程式。具體地,可以通過以下方式確定第一應用程式非系統默認或用戶預先設置的保護應用:獲取系統 默認和用戶預先設置的保護應用列表;在列表中查詢所述第一應用程式;若未查詢到,則確定第一應用程式非系統默認或用戶預先設置的保護應用。具體地,預定動作可以包括:播放音樂、錄音、下載、連接VPN(Virtual Private Network,虛擬專用網絡)或使用加速度傳感器。
在具體實施時,可以在作業系統中實施本申請實施例中提供的方案,並向用戶提供開啟或關閉控制狀態的設置按鈕。具體地,可以在根據第一時長,對第一應用程式進行相應控制之前,根據用戶的預先操作,確定已開啟控制狀態。具體地,該控制狀態可以被稱為「智能加速」。具體地,該用戶的預先操作可以包括用戶對用於觸發開啟或關閉控制狀態的操作按鈕的操作;或者用戶根據提示,選擇確認開啟控制狀態的操作。具體地,如果未開啟控制狀態,則不對第一應用程式進行相應控制。在具體實施時,可以預先設置默認開啟控制狀態。
實施例二
圖2為本申請實施例二的後臺應用程式的控制方法的流程圖。
在本申請實施例二中,本申請實施例中提供的後臺應用程式的控制方法應用於終端作業系統中,系統默認開啟加速,並且系統預先設置有默認保護應用,用戶也預先設置有保護應用。終端維護長度為M的保護隊列,預先計算該保護隊列的每個位置對應的基礎時長=第一位置的基礎時長*預定係數/(n-1),n為保護隊列中每個位置的編號,為從2至M的數。系統為每個進入該隊列的應用程式分配一個定時器,並且根據隊列中的各個應用程式在隊列中的位置、以及佔用的內存大小和使用頻率計算得到定時器的計時時長;隨著切換至後臺的應用程式數量的增加,最先進入隊列的應用程式將從隊列中的第一位置依次被擠向第二位置、第三位置、直至第M個位置;在應用程式在隊列中的位置變化時,對應的計時時長也在變化。對於從後臺切換至前臺的應用程式,將從隊列中移出,並且該應用程式對應的定時器清零。
如圖2所示,根據本申請實施例二的後臺應用程式的控制方法包括以下步 驟:
S201,接收將應用程式A切換至後臺的指令,並將A放入隊列的第一個位置,即,隊頭;
在具體實施時,將應用程式A切換至後臺的指令,可以包括:切換其他應用程式至前臺的指令、或者鎖屏指令、或者返回主界面的指令等。
在具體實施時,可以將每一個切換至後臺的應用程式均放入該隊列。也可將系統默認的保護應用和用戶設置的保護應用之外的應用程式放入該隊列。如果是將系統默認的保護應用和用戶設置的保護應用之外的應用程式放入該隊列,則需要提前判斷A是否在系統默認或用戶預先設置的保護應用列表中。
S202,根據A佔用的內存大小和使用頻率計算A對應的第一時長;
在具體實施時,還可以僅根據A佔用的內存大小或者使用頻率計算A對應的第一時長。
在具體實施時,根據A佔用的內存大小和使用頻率計算A對應的第一時長的具體方式可以參考本申請實施例一中的相關描述,重複之處不再贅述。
S203,觸發A對應的第一定時器開始計時;
S204,在有新的應用程式切換至後臺時,將A的位置依次往隊尾移動,並根據A在隊列中的新的位置計算A對應的第二時長;
例如,有一個新的應用程式B切換至後臺時,將B放在隊列的第一位置,將A的位置移往隊列中的第二個位置,再有新的應用程式C切換至後臺時,將C放在隊列的第一位置,將B移往隊列中的第二個位置,將A移往隊列中的第三個位置,如此往復。
在具體實施時,由於A在隊列中的位置是由在A之後切換至後臺的應用程式的數量確定的,因此,也可以直接根據在A之後切換至後臺的應用程式的數量來計算A對應的第二時長。具體地,根據A在隊列中的位置計算A對應的第二時長,或者根據在A之後切換至後臺的應用程式的數量來計算A對應的第二時長的具體實施方式可以參考本申請實施例一中的相關描述,重複之處 不再贅述。
在具體實施時,隨著不斷的有應用程式切換至後臺,或者切換至前臺,可能會導致A在隊列中的位置不斷變化,此時會產生多個第二時長,將以最近產生的第二時長作為確定的第二時長。
S205,確定用戶停止操作是否已達第一預定時長,或者用戶停止切換應用程式是否已達第二預定時長;如果是,則執行S206,如果否,則執行S214;
在具體實施時,該第一預定時長可以為30分鐘等時長,該第二預定時長可以為10分鐘等時長,該第一預定時長和該第二預定時長的時長均可以根據經驗值進行設置,本申請對其大小或彼此之間的關係不作限制。
在具體實施時,如果應用程式被切換至前臺,則將其從隊列中取出,並將其對應的定時器清零,在該應用程式之前切換至後臺的其他應用程式在隊列中的位置可以不變,也可以向隊頭移動一位,本申請對此不作限制。
S206,確定A是否在系統默認保護應用列表中;如果否,則執行S207,如果是,則執行S214;
在具體實施時,該系統默認保護應用列表可以是在系統出廠時預先設置好的應用列表,在該列表中,可以包括系統應用程式,例如,系統升級應用、uuid生成應用、鬧鐘應用等;
S207,確定A是否在用戶設置的保護應用列表中;如果否,則執行S208,如果是,則執行S214;
在具體實施時,該用戶設置的保護應用列表可以是用戶開啟加速功能時設置的保護應用列表,用戶可以將經常使用,並且不希望關閉的多個應用程式放入該列表中,例如,微博、QQ、微信等。
S208,確定A是否在播放音樂、錄音、下載、連接VPN或使用加速度傳感器;如果否,則執行S209,如果是,則執行S214;
在具體實施時,執行上述動作的應用程式切換至後臺時,也可以向用戶提供相應的服務,此時如果關閉相應的應用程式,將導致相應的服務也被關閉, 影響用戶使用;因此,需要提前確定是否在執行上述動作。
S209,確定A是否被前臺應用程式調用;如果否,則執行S210,如果是,則執行S214;
在具體實施時,如果切換至後臺的A被前臺應用程式調用,此時如果關閉該應用程式,將導致前臺的應用程式受到影響,影響用戶使用;因此,需要提前確定是否被前臺應用程式所調用。
在具體實施時,步驟S206-S209之間沒有嚴格的時序關係,可以按上述次序依次執行,也可以同時執行,或者同時執行其中幾個步驟,再依次執行另幾個步驟,本申請對此均不作限制。
S210,判斷A是否仍然在隊列中,如果是,則執行S211,如果否,則執行S212;
在具體實施時,當執行完S206-S209之後,如果確認A不在系統默認保護應用列表中、也不在用戶設置的保護應用列表中、也未播放音樂、錄音、下載、連接VPN或使用加速度傳感器、也未被前臺應用程式調用,則進一點確定A是否仍然在隊列中,如果已經被擠出隊列,則可以直接關閉A;如果未被擠出隊列,則進一步判斷A對應的第一定時器計時的時長與第二時長的關係。
S211,確定第一定時器計時的時長是否等於或超過該第二時長,如果是,則執行S213,否則,執行S212;
在具體實施時,當執行完S205-S210之後,可能第一定時器還未計時至該第二時長,此時,可以繼續計時至該第二時長後再關閉A;如果執行完S205-S210的判斷後,第一定時器的計時已經超過該第二時長,則可以立刻關閉A。
S212,第一定時器繼續計時,並執行S212。
S213,關閉A。
S214,不對A進行控制。
採用本申請實施例中提供的後臺應用程式的控制方案,在應用程式切換至 後臺時,根據該應用程式佔用的內存大小和/或使用頻率確定該定時器的計時時長,並觸發該應用程式對應的定時器開始計時,然後根據該時長對應用程式進行相應控制,使得終端能夠對佔用內存不同和/或使用頻率不同的應用程式進行不同的控制,減少了系統資源消耗,提升了用戶體驗。
基於同一發明構思,本申請實施例中還提供了一種後臺應用程式的控制裝置,由於該裝置解決問題的原理與本申請實施例一所提供的後臺應用程式的控制方法相似,因此該裝置的實施可以參見方法的實施,重複之處不再贅述。
實施例三
圖3示出的是本申請實施例三的後臺應用程式的控制裝置的結構示意圖。
如圖3所示,本申請實施例三中的後臺應用程式的控制裝置300,該裝置包括:指令接收模塊301,用於接收切換第一應用程式至後臺的指令;第一時長確定模塊302,用於根據該第一應用程式佔用的內存大小和/或使用頻率,確定該第一定時器對應的第一時長;計時模塊303,用於觸發該第一應用程式對應的第一定時器開始計時;控制模塊304,用於根據該第一時長,對該第一應用程式進行相應控制。
在具體實施時,切換第一應用程式至後臺的指令,具體可以包括:切換其他應用程式至前臺的指令、或者鎖屏指令、或者返回主界面的指令。
在具體實施時,第一時長確定模塊,具體可以包括:內存獲取子模塊,用於獲取該第一應用程式佔用的內存大小;內存係數確定子模塊,用於根據該第一應用程式佔用的內存大小,確定對應的內存係數;第一時長確定子模塊,用於根據下式確定第一時長:第一時長=預設基礎時長*內存係數;或者使用頻率獲取子模塊,用於獲取該第一應用程式的使用頻率;使用頻率係數確定子模塊,用於根據該應用程式的使用頻率,確定對應的使用頻率係數;第一時長確定子模塊,用於根據下式確定第一時長:第一時長=預設基礎時長*使用頻率係數;或者內存和使用頻率獲取子模塊,獲取該第一應用程式佔用的內存大小和使用 頻率;內存係數確定子模塊,根據該第一應用程式佔用的內存大小,確定對應的內存係數;使用頻率係數確定子模塊,根據該第一應用程式的使用頻率,確定對應的使用頻率係數;第一時長確定子模塊,根據下式確定第一時長:第一時長=預設基礎時長*內存係數*使用頻率係數。
在具體實施時,內存係數確定子模塊,具體可以用於在該第一應用程式佔用的內存大小小於或等於第一預設值時,確定該應用程式對應的內存係數為第一值;在該第一應用程式佔用的內存大小大於或等於第二預設值時,確定該應用程式對應的內存係數為第二值;否則,確定該第一應用程式對應的內存係數為第三值。
在具體實施時,使用頻率係數確定子模塊,具體可以用於分別記錄終端各應用程式切換至前臺的次數,並得到所有應用程式切換至前臺的總次數;根據該總次數和切換至前臺的應用程式的數量,確定平均使用次數;該第一應用程式對應的使用頻率係數=該第一應用程式切換至前臺的次數/平均使用次數。
在具體實施時,控制模塊,具體可以包括:切換子模塊,用於該第一定時器計時至該第一時長之前,檢測該第一應用程式是否切換至前臺;停止計時觸發子模塊,用於在該第一應用程式切換至前臺時,觸發該第一定時器停止計時,並將計時清零;控制子模塊,用於在該第一應用程式未切換至前臺時,對該第一應用程式進行相應控制。
在具體實施時,控制子模塊,具體可以包括:數量記錄單元,用於記錄在該第一定時器計時期間,切換至後臺的第二應用程式的數量;控制單元,用於根據在該第一定時器計時期間,切換至後臺的第二應用程式的數量和該第一時長,對該第一應用程式進行相應控制。
在具體實施時,控制單元具體可以用於若在該第一定時器計時期間,切換至後臺的第二應用程式的數量為N;當N+1大於預定的數量時,關閉該第一應用程式,並觸發該第一定時器停止計時;當N+1小於或等於預定的數量時,根據該第一時長和該N確定第二時長,並在該第一定時器計時等於或超過第二時 長時,關閉該第一應用程式,並觸發該第一定時器停止計時。
在具體實施時,該控制單元可以根據下述確定第二時長:當N為自然數時,第二時長=該第一時長*預定係數/N,其中,該預定係數為小於1的正數;當N=0時,則該第二時長=該第一時長。
在具體實施時,本申請實施例三中的後臺應用程式的控制裝置還可以包括:停止操作計時模塊,用於確定用戶停止操作達第一預定時長;或者切換操作計時模塊,用於確定用戶停止切換應用程式達第二預定時長。
在具體實施時,本申請實施例三中的後臺應用程式的控制裝置還可以包括:調用確定模塊,用於確定該第一應用程式未被前臺應用程式調用;或者保護應用確定模塊,用於確定該第一應用程式非系統默認或用戶預先設置的保護應用;或者預定動作確定模塊,用於確定該第一應用程式未執行預定動作。
在具體實施時,保護應用確定模塊,具體可以包括:保護應用獲取子模塊,用於獲取系統默認和用戶預先設置的保護應用列表;查詢子模塊,用於在該列表中查詢該第一應用程式;保護應用確定子模塊,用於在未查詢到時,確定該第一應用程式非系統默認或用戶預先設置的保護應用。
在具體實施時,該預定動作可以包括:播放音樂、錄音、下載、連接虛擬專用網絡VPN或使用加速度傳感器。
在具體實施時,本申請實施例三中的後臺應用程式的控制裝置還可以包括:控制狀態開啟確定模塊,用於根據用戶的預先操作,確定已開啟控制狀態。
在具體實施時,用戶的預先操作可以包括:用戶對操作按鈕的操作,該操作按鈕用於觸發開啟或關閉控制狀態;或者用戶根據提示,選擇確認開啟控制狀態的操作。
採用本申請實施例中提供的後臺應用程式的控制裝置,在應用程式切換至後臺時,根據該應用程式佔用的內存大小和/或使用頻率確定該定時器的計時時長,並觸發該應用程式對應的定時器開始計時,然後根據該時長對應用程式進行相應控制,使得終端能夠對佔用內存不同和/或使用頻率不同的應用程式進行 不同的控制,減少了系統資源消耗,提升了用戶體驗。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請範圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申 請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。