【技術(shù)領(lǐng)域】
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種電源鎖處理方法及裝置。
背景技術(shù):
對于依賴電能工作的終端來說,電源是其非常重要的組成部分。在終端中的電源提供的電能一定的條件下,終端的續(xù)航時間(即終端能夠工作的時長)與終端的功耗相關(guān),功耗越小,續(xù)航時間越長,反之,功耗越大,續(xù)航時間越短。
終端中通常都設(shè)置有對于電源進行管理的管理機制。以安卓(android)終端為例。安卓終端通過電源鎖對電源進行控制。其中,帶有cpu標志位的電源鎖稱為cpu電源鎖。持有cpu電源鎖的應(yīng)用能控制終端中的cpu從休眠狀態(tài)轉(zhuǎn)換到運行狀態(tài)。其中,帶有亮屏標志位的電源鎖稱為亮屏鎖。持有亮屏鎖的應(yīng)用能控制終端中的cpu從休眠狀態(tài)轉(zhuǎn)換到運行狀態(tài),并且能控制終端屏幕從滅屏狀態(tài)轉(zhuǎn)換到亮屏狀態(tài)。只要有應(yīng)用持有電源鎖,終端系統(tǒng)就無法進入休眠階段。
當前,安裝在終端中的應(yīng)用越來越多,其中有一些應(yīng)用會在后臺長時間持有電源鎖不釋放,造成終端中的cpu資源長時間被占用,導(dǎo)致終端功耗增加,續(xù)航時間減少。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了一種電源鎖處理方法及裝置,用以解決現(xiàn)有技術(shù)中后臺應(yīng)用長時間持有電源鎖不釋放,造成終端中的cpu資源長時間被占用,導(dǎo)致終端功耗增加,續(xù)航時間減少的問題。
第一方面,本發(fā)明實施例提供一種電源鎖處理方法,應(yīng)用于終端,所述方法包括:
判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件;
若所述指定后臺應(yīng)用當前滿足所述惡意持鎖條件,釋放所述指定后臺應(yīng)用持有的電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述方法還包括:
若所述指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且當前終端處于亮屏狀態(tài)時,判斷所述指定后臺應(yīng)用當前是否滿足第一待觀察條件;
若所述指定后臺應(yīng)用當前滿足所述第一待觀察條件,為所述指定后臺應(yīng)用設(shè)置亮屏鎖的第一持鎖時長;
當所述指定后臺應(yīng)用連續(xù)持有亮屏鎖的時間達到所述第一持鎖時長時,釋放所述指定后臺應(yīng)用持有的亮屏鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述方法還包括:
若所述指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且在當前終端處于滅屏狀態(tài)時,判斷所述指定后臺應(yīng)用當前是否滿足第二待觀察條件;
若所述指定后臺應(yīng)用當前滿足所述第二待觀察條件,判斷所述指定后臺應(yīng)用是否是常用應(yīng)用列表中的應(yīng)用;
若所述指定后臺應(yīng)用是常用應(yīng)用列表中的應(yīng)用,為所述指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;
當所述指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到所述第二持鎖時長時,釋放所述指定后臺應(yīng)用持有的cpu電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述方法還包括:
若所述指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且不是大功耗應(yīng)用列表中的應(yīng)用,為所述指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;
當所述指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到所述第二持鎖時長時,釋放所述指定后臺應(yīng)用持有的cpu電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述方法還包括:
若所述指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且是大功耗應(yīng)用列表中的應(yīng)用,釋放所述指定后臺應(yīng)用持有的cpu電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述方法還包括:
若所述指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且滿足待觀察條件,當所述終端接收到待機指令時,釋放所述指定后臺應(yīng)用持有的電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,所述方法還包括:
當所述指定后臺應(yīng)用為非服務(wù)應(yīng)用時,若檢測到所述指定后臺應(yīng)用在終端亮屏狀態(tài)下,在后臺連續(xù)持有亮屏鎖的時間超過第一時長,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,所述觀察系數(shù)的初始值為0,所述非服務(wù)應(yīng)用指具有能夠在前臺顯示的界面的應(yīng)用;
當檢測到所述指定后臺應(yīng)用符合待第一觀察系數(shù)減少條件時,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,所述方法還包括:
當所述指定后臺應(yīng)用為服務(wù)應(yīng)用時,若檢測到所述指定后臺應(yīng)用在終端滅屏狀態(tài)下,在后臺連續(xù)持有cpu電源鎖的時間超過第二時長,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,所述觀察系數(shù)的初始值為0,所述服務(wù)應(yīng)用指不具有能夠在前臺顯示的界面的應(yīng)用;
當檢測到所述指定后臺應(yīng)用符合待第二觀察系數(shù)減少條件時,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述惡意持鎖條件為:所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)大于指定值。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,所述方法還包括:
記錄所述指定后臺應(yīng)用每天的使用時長,當所述指定后臺應(yīng)用當天的使用時長,屬于當天終端中所有應(yīng)用的使用時長中最大的前第一指定數(shù)目個使用時長時,為所述指定后臺應(yīng)用設(shè)置常用標識;
統(tǒng)計所述指定后臺應(yīng)用在過去的第一指定時間段內(nèi),設(shè)置有常用標識的第一天數(shù)值;
若所述第一天數(shù)值超過第一指定值,將所述指定后臺應(yīng)用添加到常用應(yīng)用列表中;或者,若所述第一天數(shù)值未超過第一指定值,將所述指定后臺應(yīng)用從常用應(yīng)用列表中刪除。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,所述方法還包括:
記錄所述指定后臺應(yīng)用每天的耗電量,當所述指定后臺應(yīng)用當天的耗電量,屬于當天終端中所有應(yīng)用的耗電量中最大的前第二指定數(shù)目個耗電量時,為所述指定后臺應(yīng)用設(shè)置大功耗標識;
統(tǒng)計所述指定后臺應(yīng)用在過去的指定時間段內(nèi),設(shè)置有大功耗標識的第二天數(shù)值;
若所述第二天數(shù)值超過第二指定值,將所述指定后臺應(yīng)用添加到大功耗應(yīng)用列表中;或者,若所述第二天數(shù)值未超過第二指定值,將所述指定后臺應(yīng)用從大功耗應(yīng)用列表中刪除。
第二方面,本發(fā)明實施例提供一種電源鎖處理裝置,設(shè)置于終端,所述裝置包括:
第一判斷模塊,用于判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件;
第一釋放模塊,用于若所述指定后臺應(yīng)用當前滿足所述惡意持鎖條件,釋放所述指定后臺應(yīng)用持有的電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第二判斷模塊,用于若所述指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且當前終端處于亮屏狀態(tài)時,判斷所述指定后臺應(yīng)用當前是否滿足第一待觀察條件;
第一設(shè)置模塊,用于若所述指定后臺應(yīng)用當前滿足所述第一待觀察條件,為所述指定后臺應(yīng)用設(shè)置亮屏鎖的第一持鎖時長;
第一處理模塊,用于當所述指定后臺應(yīng)用連續(xù)持有亮屏鎖的時間達到所述第一持鎖時長時,釋放所述指定后臺應(yīng)用持有的亮屏鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第三判斷模塊,用于若所述指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且在當前終端處于滅屏狀態(tài)時,判斷所述指定后臺應(yīng)用當前是否滿足第二待觀察條件;
第四判斷模塊,用于若所述指定后臺應(yīng)用當前滿足所述第二待觀察條件,判斷所述指定后臺應(yīng)用是否是常用應(yīng)用列表中的應(yīng)用;
第二設(shè)置模塊,用于若所述指定后臺應(yīng)用是常用應(yīng)用列表中的應(yīng)用,為所述指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;
第二處理模塊,用于當所述指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到所述第二持鎖時長時,釋放所述指定后臺應(yīng)用持有的cpu電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第三設(shè)置模塊,用于若所述指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且不是大功耗應(yīng)用列表中的應(yīng)用,為所述指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;
第三處理模塊,用于當所述指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到所述第二持鎖時長時,釋放所述指定后臺應(yīng)用持有的cpu電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第二釋放模塊,用于若所述指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且是大功耗應(yīng)用列表中的應(yīng)用,釋放所述指定后臺應(yīng)用持有的cpu電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第三釋放模塊,用于若所述指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且滿足待觀察條件,當所述終端接收到待機指令時,釋放所述指定后臺應(yīng)用持有的電源鎖。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第一系數(shù)增加模塊,用于當所述指定后臺應(yīng)用為非服務(wù)應(yīng)用時,若檢測到所述指定后臺應(yīng)用在終端亮屏狀態(tài)下,在后臺連續(xù)持有亮屏鎖的時間超過第一時長,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,所述觀察系數(shù)的初始值為0,所述非服務(wù)應(yīng)用指具有能夠在前臺顯示的界面的應(yīng)用;
第一系數(shù)減少模塊,用于當檢測到所述指定后臺應(yīng)用符合待第一觀察系數(shù)減少條件時,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第二系數(shù)增加模塊,用于當所述指定后臺應(yīng)用為服務(wù)應(yīng)用時,若檢測到所述指定后臺應(yīng)用在終端滅屏狀態(tài)下,在后臺連續(xù)持有cpu電源鎖的時間超過第二時長,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,所述觀察系數(shù)的初始值為0,所述服務(wù)應(yīng)用指不具有能夠在前臺顯示的界面的應(yīng)用;
第二系數(shù)減少模塊,用于當檢測到所述指定后臺應(yīng)用符合待第二觀察系數(shù)減少條件時,將所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述惡意持鎖條件為:所述指定后臺應(yīng)用對應(yīng)的觀察系數(shù)大于指定值。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第一記錄模塊,用于記錄所述指定后臺應(yīng)用每天的使用時長,當所述指定后臺應(yīng)用當天的使用時長,屬于當天終端中所有應(yīng)用的使用時長中最大的前第一指定數(shù)目個使用時長時,為所述指定后臺應(yīng)用設(shè)置常用標識;
第一統(tǒng)計模塊,用于統(tǒng)計所述指定后臺應(yīng)用在過去的第一指定時間段內(nèi),設(shè)置有常用標識的第一天數(shù)值;
第一列表更新模塊,用于若所述第一天數(shù)值超過第一指定值,將所述指定后臺應(yīng)用添加到常用應(yīng)用列表中;或者,用于若所述第一天數(shù)值未超過第一指定值,將所述指定后臺應(yīng)用從常用應(yīng)用列表中刪除。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第二記錄模塊,用于記錄所述指定后臺應(yīng)用每天的耗電量,當所述指定后臺應(yīng)用當天的耗電量,屬于當天終端中所有應(yīng)用的耗電量中最大的前第二指定數(shù)目個耗電量時,為所述指定后臺應(yīng)用設(shè)置大功耗標識;
第二統(tǒng)計模塊,用于統(tǒng)計所述指定后臺應(yīng)用在過去的指定時間段內(nèi),設(shè)置有大功耗標識的第二天數(shù)值;
第二列表更新模塊,用于若所述第二天數(shù)值超過第二指定值,將所述指定后臺應(yīng)用添加到大功耗應(yīng)用列表中;或者,用于若所述第二天數(shù)值未超過第二指定值,將所述指定后臺應(yīng)用從大功耗應(yīng)用列表中刪除。
本發(fā)明實施例具有以下有益效果:
本發(fā)明實施例,通過判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件,若指定后臺應(yīng)用當前滿足惡意持鎖條件,釋放指定后臺應(yīng)用持有的電源鎖,能夠在指定后臺應(yīng)用不主動釋放電源鎖的情況下,根據(jù)其持鎖情況,強制滿足惡意持鎖條件的指定后臺應(yīng)用釋放其持有的電源鎖,有效防止了惡意持鎖或者長時間持鎖不放等情況,從而可以減少終端中cpu資源被占用的時間,進而減少了終端功耗,增加了續(xù)航時間。
【附圖說明】
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實施例提供的電源鎖處理方法的第一流程示例圖。
圖2為本發(fā)明實施例提供的電源鎖處理方法的第二流程示例圖。
圖3為本發(fā)明實施例提供的電源鎖處理方法的第三流程示例圖。
圖4為本發(fā)明實施例提供的電源鎖處理裝置的功能方塊圖。
【具體實施方式】
為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。
應(yīng)當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應(yīng)當理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當確定時”或“響應(yīng)于確定”或“當檢測(陳述的條件或事件)時”或“響應(yīng)于檢測(陳述的條件或事件)”。
圖1為本發(fā)明實施例提供的電源鎖處理方法的第一流程示例圖。如圖1所示,本實施例中,電源鎖處理方法應(yīng)用于終端,該方法包括如下步驟:
s101,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件。
s102,若指定后臺應(yīng)用當前滿足惡意持鎖條件,釋放指定后臺應(yīng)用持有的電源鎖。
其中,指定后臺應(yīng)用可以是非服務(wù)應(yīng)用,也可以是服務(wù)應(yīng)用。其中,非服務(wù)應(yīng)用指具有能夠在前臺顯示的界面的應(yīng)用,例如瀏覽器應(yīng)用。服務(wù)應(yīng)用指不具有能夠在前臺顯示的界面的應(yīng)用,例如音樂播放應(yīng)用。
其中,惡意持鎖條件可以由應(yīng)用開發(fā)者設(shè)置。例如,惡意持鎖條件可以是:指定后臺應(yīng)用在后臺超時持鎖的次數(shù)大于指定次數(shù)。其中,用于進行超時判斷的時間閾值可以根據(jù)經(jīng)驗值來設(shè)定。
舉例說明。如果設(shè)置用于進行超時判斷的時間閾值為5分鐘,指定次數(shù)為3次,那么,如果后臺應(yīng)用a在后臺超過5分鐘持鎖的次數(shù)為4次時,就認為后臺應(yīng)用a惡意持鎖。
當判斷出指定后臺應(yīng)用當前滿足惡意持鎖條件時,就可以確定指定后臺應(yīng)用當前屬于惡意持鎖,并且認為指定后臺應(yīng)用不會主動釋放電源鎖,因此,通過程序指令強制指定后臺應(yīng)用釋放其持有的電源鎖。這樣,指定后臺應(yīng)用所持有的電源鎖就得到了及時地釋放,有效防止了惡意持鎖或者長時間持鎖不放等情況。電源鎖釋放后,指定后臺應(yīng)用就不能通過電源鎖控制終端中的cpu從休眠狀態(tài)轉(zhuǎn)換到運行狀態(tài)了,從而可以減少cpu資源被占用的時間,進而減少終端功耗,增加續(xù)航時間。
當指定后臺應(yīng)用回到前臺之后,可以重新賦予應(yīng)用電源鎖。
圖2為本發(fā)明實施例提供的電源鎖處理方法的第二流程示例圖。如圖2所示,本實施例中,電源鎖處理方法應(yīng)用于終端,該方法包括如下步驟:
s201,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件,如果滿足惡意持鎖條件,執(zhí)行s211,否則執(zhí)行s202。
s202,判斷當前終端是否處于亮屏狀態(tài),如果處于亮屏狀態(tài),執(zhí)行s203,否則執(zhí)行s206。
s203,判斷指定后臺應(yīng)用當前是否滿足第一待觀察條件,如果滿足第一待觀察條件,執(zhí)行s204,否則執(zhí)行s212。
s204,為指定后臺應(yīng)用設(shè)置亮屏鎖的第一持鎖時長。
s205,當指定后臺應(yīng)用連續(xù)持有亮屏鎖的時間達到第一持鎖時長時,釋放指定后臺應(yīng)用持有的亮屏鎖,結(jié)束。
s206,判斷指定后臺應(yīng)用當前是否滿足第二待觀察條件,如果滿足第二待觀察條件,執(zhí)行s207,否則執(zhí)行s212。
s207,判斷指定后臺應(yīng)用是否是常用應(yīng)用列表中的應(yīng)用,如果指定后臺應(yīng)用是常用應(yīng)用列表中的應(yīng)用,執(zhí)行s208,否則執(zhí)行s210。
s208,為指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長。
s209,當指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到第二持鎖時長時,釋放指定后臺應(yīng)用持有的cpu電源鎖,結(jié)束。
s210,判斷指定后臺應(yīng)用是否是大功耗應(yīng)用列表中的應(yīng)用,如果指定后臺應(yīng)用是大功耗應(yīng)用列表中的應(yīng)用,執(zhí)行s211,否則執(zhí)行s208;
s211,釋放指定后臺應(yīng)用持有的電源鎖,結(jié)束。
s212,保持指定后臺應(yīng)用持有電源鎖的狀態(tài)不變,結(jié)束。
其中,第一待觀察條件可以是:指定后臺應(yīng)用在后臺超時持鎖的次數(shù)大于0且小于第一指定次數(shù)。第一指定次數(shù)可以根據(jù)使用需求進行設(shè)置。
其中,第一持鎖時長可以根據(jù)具體需求進行設(shè)置。例如,第一持鎖時長可以是5分鐘。
其中,第二待觀察條件可以是:指定后臺應(yīng)用在后臺超時持鎖的次數(shù)大于0且小于第二指定次數(shù)。第二指定次數(shù)可以根據(jù)使用需求進行設(shè)置。
其中,第二持鎖時長可以根據(jù)具體需求進行設(shè)置。例如,第二持鎖時長可以是5分鐘。第二持鎖時長可以與第一持鎖時長相等,也可以不相等。
其中,可以對終端中每個應(yīng)用每天的使用時長進行統(tǒng)計,然后根據(jù)使用時長統(tǒng)計結(jié)果和預(yù)設(shè)的常用應(yīng)用判斷策略判斷哪些應(yīng)用為常用應(yīng)用,并將判斷出的常用應(yīng)用添加到常用應(yīng)用列表中。進一步地,可以根據(jù)更新的使用時長統(tǒng)計結(jié)果來更新常用應(yīng)用列表。
同樣,可以對終端中每個應(yīng)用每天的功耗進行統(tǒng)計,然后根據(jù)功耗統(tǒng)計結(jié)果和預(yù)設(shè)的功耗判斷策略判斷哪些應(yīng)用為大功耗應(yīng)用,并將判斷出的大功耗應(yīng)用添加到大功耗應(yīng)用列表中。進一步地,可以根據(jù)更新的功耗統(tǒng)計結(jié)果來更新大功耗應(yīng)用列表。
圖2所示實施例中,在指定后臺應(yīng)用當前不滿足惡意持鎖條件、并且當前終端處于亮屏狀態(tài)時,判斷指定后臺應(yīng)用當前是否滿足第一待觀察條件,若指定后臺應(yīng)用當前滿足第一待觀察條件,為指定后臺應(yīng)用設(shè)置亮屏鎖的第一持鎖時長;當指定后臺應(yīng)用連續(xù)持有亮屏鎖的時間達到第一持鎖時長時,釋放指定后臺應(yīng)用持有的亮屏鎖。
圖2所示實施例中,在指定后臺應(yīng)用當前不滿足惡意持鎖條件、且在當前終端處于滅屏狀態(tài)時,判斷指定后臺應(yīng)用當前是否滿足第二待觀察條件;若指定后臺應(yīng)用當前滿足第二待觀察條件,進一步判斷指定后臺應(yīng)用是否是常用應(yīng)用列表中的應(yīng)用;若指定后臺應(yīng)用是常用應(yīng)用列表中的應(yīng)用,為指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;當指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到第二持鎖時長時,釋放指定后臺應(yīng)用持有的cpu電源鎖。
圖2所示實施例中,在指定后臺應(yīng)用當前不滿足惡意持鎖條件、且在當前終端處于滅屏狀態(tài)時,若指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且不是大功耗應(yīng)用列表中的應(yīng)用,為指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長,以便在指定后臺應(yīng)用在連續(xù)持有cpu電源鎖的時間達到第二持鎖時長時,釋放cpu電源鎖。
圖2所示實施例中,在指定后臺應(yīng)用當前不滿足惡意持鎖條件、且在當前終端處于滅屏狀態(tài)時,若指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且是大功耗應(yīng)用列表中的應(yīng)用,釋放指定后臺應(yīng)用持有的cpu電源鎖。
圖2所示實施例中,在指定后臺應(yīng)用當前不滿足惡意持鎖條件時,進一步結(jié)合屏幕狀態(tài)(亮屏或滅屏)第一待觀察條件、第二待觀察條件、常用應(yīng)用列表、大功耗應(yīng)用列表來確定如何對指定后臺應(yīng)用的電源鎖進行處理,既考慮了用戶的使用習(xí)慣又有效的管理了電源鎖,在盡可能不影響用戶體驗的情況下降低終端功耗延長終端續(xù)航時間。
圖3為本發(fā)明實施例提供的電源鎖處理方法的第三流程示例圖。如圖3所示,本實施例中,電源鎖處理方法應(yīng)用于終端,該方法包括如下步驟:
s301,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件,如果滿足惡意持鎖條件,執(zhí)行s304,否則執(zhí)行s302。
s302,判斷當前終端是否滿足待觀察條件,如果滿足待觀察條件,執(zhí)行s303,否則執(zhí)行s305。
s303,終端接收到待機指令。
s304,釋放指定后臺應(yīng)用持有的電源鎖,結(jié)束。
s305,保持指定后臺應(yīng)用持有電源鎖的狀態(tài)不變,結(jié)束。
其中,待觀察條件可以是:指定后臺應(yīng)用在后臺超時持鎖的次數(shù)大于0且小于指定次數(shù)。
圖3所示實施例中,當指定后臺應(yīng)用已經(jīng)出現(xiàn)過超時持鎖的情況(滿足待觀察條件說明出現(xiàn)過超時持鎖的情況)、但還未滿足惡意持鎖條件時,如果終端接收到待機指令,就釋放指定后臺應(yīng)用持有的電源鎖,這樣,可以在不影響用戶使用的情況下,使終端能夠進入待機狀態(tài),從而減少終端中cpu資源的占用時間,降低終端功耗,以增加終端待機時間。
在應(yīng)用中,可以對指定后臺應(yīng)用在后臺持電源鎖的情況進行分析,以確定指定后臺應(yīng)用超時持鎖的情況,并對該超時持鎖的情況進行評估。
因此,在一個示例性的實現(xiàn)過程中,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,電源鎖處理方法還可以包括:當指定后臺應(yīng)用為非服務(wù)應(yīng)用時,若檢測到指定后臺應(yīng)用在終端亮屏狀態(tài)下,在后臺連續(xù)持有亮屏鎖的時間超過第一時長,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,觀察系數(shù)的初始值為0,非服務(wù)應(yīng)用指具有能夠在前臺顯示的界面的應(yīng)用;當若檢測到指定后臺應(yīng)用符合第一觀察系數(shù)減少條件時,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。這是對后臺的非服務(wù)應(yīng)用進行持鎖評估情況的方法。
因此,在一個示例性的實現(xiàn)過程中,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,電源鎖處理方法還可以包括:當指定后臺應(yīng)用為服務(wù)應(yīng)用時,若檢測到指定后臺應(yīng)用在終端滅屏狀態(tài)下,在后臺連續(xù)持有cpu電源鎖的時間超過第二時長,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,觀察系數(shù)的初始值為0,服務(wù)應(yīng)用指不具有能夠在前臺顯示的界面的應(yīng)用;當若檢測到指定后臺應(yīng)用符合第二觀察系數(shù)減少條件時,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。這是對后臺的非服務(wù)應(yīng)用進行持鎖評估情況的方法。
在以上評估的基礎(chǔ)上,惡意持鎖條件可以為:指定后臺應(yīng)用對應(yīng)的觀察系數(shù)大于指定值。其中,指定值可以由應(yīng)用開發(fā)者設(shè)定。
以手機為例進行說明。根據(jù)手機當前的亮滅屏狀態(tài)來統(tǒng)計應(yīng)用的持電源鎖時間。當手機是亮屏狀態(tài)的時候,統(tǒng)計所有不在前臺的應(yīng)用所持有亮屏電源鎖的時間,此時不統(tǒng)計前臺應(yīng)用所持亮屏鎖的時間(例如游戲或者視頻應(yīng)用等在前臺時持有亮屏鎖,是為了保證游戲或視頻等應(yīng)用的正常運行);當手機是滅屏狀態(tài)的時候,統(tǒng)計所有非前臺服務(wù)持cpu電源鎖的時間,此時不統(tǒng)計前臺服務(wù)持cpu電源鎖的時間(例如音樂等應(yīng)用在滅屏狀態(tài)下持有cpu電源鎖為了保證這些應(yīng)用可以正常的運行)。
初始各個應(yīng)用的觀察系數(shù)為0,在亮屏狀態(tài)下,如果一個應(yīng)用退到后臺而持有亮屏鎖時間超過5分鐘,將該應(yīng)用的觀察系數(shù)加1;在滅屏狀態(tài)下,如果一個非前臺應(yīng)用持有cpu電源鎖時間超過10分鐘,將該應(yīng)用的觀察系數(shù)加1??梢栽O(shè)置待觀察條件為觀察系數(shù)大于0、且小于5,惡意持鎖條件為觀察系數(shù)大于5。這樣,當觀察系數(shù)大于0小于5的時候,將這些應(yīng)用標記為待觀察應(yīng)用。當觀察系數(shù)大于5的時候,將這些應(yīng)用標記為惡意應(yīng)用。當且僅當應(yīng)用在連續(xù)兩個自然天都沒有出現(xiàn)過度持鎖的情況,將其的觀察系數(shù)減1。
在應(yīng)用中,還可以對用戶使用應(yīng)用的情況進行統(tǒng)計,以確定哪些應(yīng)用為常用應(yīng)用;以及對各應(yīng)用的功耗情況進行統(tǒng)計,以確定哪些應(yīng)用為大功耗應(yīng)用。
在一個示例性的實現(xiàn)過程中,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,電源鎖處理方法還可以包括:記錄指定后臺應(yīng)用每天的使用時長,當指定后臺應(yīng)用當天的使用時長,屬于當天終端中所有應(yīng)用的使用時長中最大的前第一指定數(shù)目個使用時長時,為指定后臺應(yīng)用設(shè)置常用標識;統(tǒng)計指定后臺應(yīng)用在過去的第一指定時間段內(nèi),設(shè)置有常用標識的第一天數(shù)值;若第一天數(shù)值超過第一指定值,將指定后臺應(yīng)用添加到常用應(yīng)用列表中;或者,若第一天數(shù)值未超過第一指定值,將指定后臺應(yīng)用從常用應(yīng)用列表中刪除。
可見,常用應(yīng)用列表是隨著時間的發(fā)展,不斷更新變化的,因為統(tǒng)計信息隨著時間的發(fā)展在不斷變化。
在一個示例性的實現(xiàn)過程中,判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件之前,電源鎖處理方法還可以包括:記錄指定后臺應(yīng)用每天的耗電量,當指定后臺應(yīng)用當天的耗電量,屬于當天終端中所有應(yīng)用的耗電量中最大的前第二指定數(shù)目個耗電量時,為指定后臺應(yīng)用設(shè)置大功耗標識;統(tǒng)計指定后臺應(yīng)用在過去的指定時間段內(nèi),設(shè)置有大功耗標識的第二天數(shù)值;若第二天數(shù)值超過第二指定值,將指定后臺應(yīng)用添加到大功耗應(yīng)用列表中;或者,若第二天數(shù)值未超過第二指定值,將指定后臺應(yīng)用從大功耗應(yīng)用列表中刪除。
本發(fā)明實施例提供的電源鎖處理方法,通過判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件,若指定后臺應(yīng)用當前滿足惡意持鎖條件,釋放指定后臺應(yīng)用持有的電源鎖,能夠在指定后臺應(yīng)用不主動釋放電源鎖的情況下,根據(jù)其持鎖情況,強制滿足惡意持鎖條件的指定后臺應(yīng)用釋放其持有的電源鎖,有效防止了惡意持鎖或者長時間持鎖不放等情況,從而可以減少終端中cpu資源被占用的時間,進而減少了終端功耗,增加了續(xù)航時間。
本發(fā)明實施例還提供了一種電源鎖處理裝置,該電源鎖處理裝置能夠?qū)崿F(xiàn)前述實施例中電源鎖處理方法的各步驟。
圖4為本發(fā)明實施例提供的電源鎖處理裝置的功能方塊圖。如圖4所示,本實施例中,電源鎖處理裝置設(shè)置于終端,該裝置包括:
第一判斷模塊410,用于判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件。
第一釋放模塊420,用于若指定后臺應(yīng)用當前滿足惡意持鎖條件,釋放所述指定后臺應(yīng)用持有的電源鎖。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第二判斷模塊,用于若指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且當前終端處于亮屏狀態(tài)時,判斷指定后臺應(yīng)用當前是否滿足第一待觀察條件;第一設(shè)置模塊,用于若指定后臺應(yīng)用當前滿足所述第一待觀察條件,為指定后臺應(yīng)用設(shè)置亮屏鎖的第一持鎖時長;第一處理模塊,用于當指定后臺應(yīng)用連續(xù)持有亮屏鎖的時間達到第一持鎖時長時,釋放指定后臺應(yīng)用持有的亮屏鎖。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第三判斷模塊,用于若指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且在當前終端處于滅屏狀態(tài)時,判斷指定后臺應(yīng)用當前是否滿足第二待觀察條件;第四判斷模塊,用于若指定后臺應(yīng)用當前滿足第二待觀察條件,判斷指定后臺應(yīng)用是否是常用應(yīng)用列表中的應(yīng)用;第二設(shè)置模塊,用于若指定后臺應(yīng)用是常用應(yīng)用列表中的應(yīng)用,為指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;第二處理模塊,用于當指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到第二持鎖時長時,釋放指定后臺應(yīng)用持有的cpu電源鎖。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第三設(shè)置模塊,用于若指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且不是大功耗應(yīng)用列表中的應(yīng)用,為指定后臺應(yīng)用設(shè)置cpu電源鎖的第二持鎖時長;第三處理模塊,用于當指定后臺應(yīng)用連續(xù)持有cpu電源鎖的時間達到第二持鎖時長時,釋放指定后臺應(yīng)用持有的cpu電源鎖。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第二釋放模塊,用于若指定后臺應(yīng)用不是常用應(yīng)用列表中的應(yīng)用,并且是大功耗應(yīng)用列表中的應(yīng)用,釋放指定后臺應(yīng)用持有的cpu電源鎖。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第三釋放模塊,用于若指定后臺應(yīng)用當前不滿足所述惡意持鎖條件,且滿足待觀察條件,當終端接收到待機指令時,釋放指定后臺應(yīng)用持有的電源鎖。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第一系數(shù)增加模塊,用于當指定后臺應(yīng)用為非服務(wù)應(yīng)用時,若檢測到指定后臺應(yīng)用在終端亮屏狀態(tài)下,在后臺連續(xù)持有亮屏鎖的時間超過第一時長,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,觀察系數(shù)的初始值為0,非服務(wù)應(yīng)用指具有能夠在前臺顯示的界面的應(yīng)用;第一系數(shù)減少模塊,用于當檢測到指定后臺應(yīng)用符合待第一觀察系數(shù)減少條件時,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第二系數(shù)增加模塊,用于當指定后臺應(yīng)用為服務(wù)應(yīng)用時,若檢測到指定后臺應(yīng)用在終端滅屏狀態(tài)下,在后臺連續(xù)持有cpu電源鎖的時間超過第二時長,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)增1,觀察系數(shù)的初始值為0,服務(wù)應(yīng)用指不具有能夠在前臺顯示的界面的應(yīng)用;第二系數(shù)減少模塊,用于當檢測到指定后臺應(yīng)用符合待第二觀察系數(shù)減少條件時,將指定后臺應(yīng)用對應(yīng)的觀察系數(shù)減1。
在一個示例性的實現(xiàn)過程中,惡意持鎖條件可以為:指定后臺應(yīng)用對應(yīng)的觀察系數(shù)大于指定值。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第一記錄模塊,用于記錄指定后臺應(yīng)用每天的使用時長,當指定后臺應(yīng)用當天的使用時長,屬于當天終端中所有應(yīng)用的使用時長中最大的前第一指定數(shù)目個使用時長時,為指定后臺應(yīng)用設(shè)置常用標識;第一統(tǒng)計模塊,用于統(tǒng)計指定后臺應(yīng)用在過去的第一指定時間段內(nèi),設(shè)置有常用標識的第一天數(shù)值;第一列表更新模塊,用于若第一天數(shù)值超過第一指定值,將指定后臺應(yīng)用添加到常用應(yīng)用列表中;或者,用于若第一天數(shù)值未超過第一指定值,將指定后臺應(yīng)用從常用應(yīng)用列表中刪除。
在一個示例性的實現(xiàn)過程中,電源鎖處理裝置還可以包括:第二記錄模塊,用于記錄指定后臺應(yīng)用每天的耗電量,當指定后臺應(yīng)用當天的耗電量,屬于當天終端中所有應(yīng)用的耗電量中最大的前第二指定數(shù)目個耗電量時,為指定后臺應(yīng)用設(shè)置大功耗標識;第二統(tǒng)計模塊,用于統(tǒng)計指定后臺應(yīng)用在過去的指定時間段內(nèi),設(shè)置有大功耗標識的第二天數(shù)值;第二列表更新模塊,用于若第二天數(shù)值超過第二指定值,將指定后臺應(yīng)用添加到大功耗應(yīng)用列表中;或者,用于若第二天數(shù)值未超過第二指定值,將指定后臺應(yīng)用從大功耗應(yīng)用列表中刪除。
由于本實施例中的電源鎖處理裝置能夠執(zhí)行前述實施例中的電源鎖處理方法,本實施例未詳細描述的部分,可參考對前述實施例中電源鎖處理方法的相關(guān)說明。
本發(fā)明實施例提供的電源鎖處理裝置,通過判斷指定后臺應(yīng)用當前是否滿足惡意持鎖條件,若指定后臺應(yīng)用當前滿足惡意持鎖條件,釋放指定后臺應(yīng)用持有的電源鎖,能夠在指定后臺應(yīng)用不主動釋放電源鎖的情況下,根據(jù)其持鎖情況,強制滿足惡意持鎖條件的指定后臺應(yīng)用釋放其持有的電源鎖,有效防止了惡意持鎖或者長時間持鎖不放等情況,從而可以減少終端中cpu資源被占用的時間,進而減少了終端功耗,增加了續(xù)航時間。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和模塊的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如,多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)裝置等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(read-onlymemory,rom)、隨機存取存儲器(randomaccessmemory,ram)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。