一種應(yīng)用程序查找方法和裝置的制造方法
【專利摘要】本發(fā)明實施例公開了一種應(yīng)用程序查找方法和裝置;包括以下步驟:判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常,若是,則獲取終端系統(tǒng)的歷史喚醒時間信息,根據(jù)該歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息,從候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序;本方法可以在終端功耗出現(xiàn)異常時確定候選應(yīng)用程序,并在這些候選應(yīng)用程序中確定喚醒終端導(dǎo)致功耗異常的目標(biāo)應(yīng)用程序,本方案能夠確定終端中是什么應(yīng)用程序?qū)е率謾C(jī)被頻繁喚醒,進(jìn)而可以有針對性的對系統(tǒng)和應(yīng)用程序進(jìn)行優(yōu)化,減少終端電量的浪費。
【專利說明】
一種應(yīng)用程序查找方法和裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及終端技術(shù)領(lǐng)域,具體涉及一種應(yīng)用程序查找方法和裝置。
【背景技術(shù)】
[0002]隨著電子通訊領(lǐng)域的發(fā)展,移動終端例如智能手機(jī)的功能越來越強(qiáng)大,用戶不僅通過智能手機(jī)打電話、發(fā)短信,用戶還可以根據(jù)需求在移動終端中安裝各種功能的應(yīng)用程序,以滿足自己在不同方面的需求(例如游戲、閱讀、音樂、視頻播放、購物等等)。
[0003]目前,在使用智能手機(jī)的過程當(dāng)中,用戶可以隨意安裝應(yīng)用程序,有些應(yīng)用程序設(shè)計不合理導(dǎo)致手機(jī)頻繁被喚醒,比如在關(guān)閉應(yīng)用程序后該應(yīng)用程序所持有的喚醒鎖沒有立即被釋放掉,繼續(xù)持有系統(tǒng)的喚醒鎖一段時間,以保證其正常運行,但是如果長時間不能釋放掉此喚醒鎖,會導(dǎo)致手機(jī)不能正常深度睡眠,看上去手機(jī)已經(jīng)不再工作,實際上手機(jī)在待機(jī)的時候,后臺的CPU等設(shè)備一直處于工作狀態(tài),增加了不必要的待機(jī)電池電量的消耗。然而,在現(xiàn)有技術(shù)當(dāng)中,終端設(shè)備無法去診斷是什么應(yīng)用程序?qū)е率謾C(jī)被頻繁喚醒,也無法有針對性的對系統(tǒng)和應(yīng)用程序進(jìn)行優(yōu)化,從而造成了終端電量的浪費。
[0004]由上可知,在現(xiàn)有技術(shù)中存在由于終端設(shè)備無法確定頻繁喚醒系統(tǒng)的應(yīng)用程序而造成終端電量浪費的技術(shù)問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種應(yīng)用程序查找方法和裝置,可以解決現(xiàn)有技術(shù)中存在由于終端設(shè)備無法確定頻繁喚醒系統(tǒng)的應(yīng)用程序而造成終端電量浪費的技術(shù)問題。
[0006]本發(fā)明實施例提供一種應(yīng)用程序查找方法,包括以下步驟:
[0007]判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常;
[0008]若是,則獲取所述終端系統(tǒng)的歷史喚醒時間信息;
[0009]根據(jù)所述歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,所述歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息;
[0010]從所述候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序。
[0011]進(jìn)一步的,所述獲取所述終端系統(tǒng)的歷史喚醒時間信息的步驟具體包括:
[0012]獲取所述終端系統(tǒng)的歷史狀態(tài)信息,其中,所述歷史狀態(tài)信息包括睡眠狀態(tài)和喚醒狀態(tài);
[0013]當(dāng)所述終端系統(tǒng)由睡眠狀態(tài)切換為喚醒狀態(tài)時,獲取所述終端對應(yīng)的時間信息并確定為所述歷史喚醒時間信息。
[0014]進(jìn)一步的,所述根據(jù)所述歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序的步驟具體包括:
[0015]根據(jù)所述歷史喚醒時間信息在所述歷史運行信息集合當(dāng)中查找所述終端系統(tǒng)中正在運行的應(yīng)用程序;
[0016]確定所述應(yīng)用程序為候選應(yīng)用程序。
[0017]進(jìn)一步的,所述判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常的步驟具體包括:
[0018]獲取在預(yù)設(shè)時間段內(nèi)所述終端的功耗值;
[0019]判斷所述功耗值是否大于預(yù)設(shè)閾值;
[0020]若是,則確定所述終端當(dāng)前的系統(tǒng)功耗出現(xiàn)異常。
[0021]進(jìn)一步的,在所述判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,所述方法還包括:
[0022]通過所述終端的內(nèi)核驅(qū)動層中的信息收集機(jī)制收集終端系統(tǒng)被喚醒的喚醒信息,以得到歷史喚醒信息集合;
[0023]所述獲取所述終端系統(tǒng)的歷史喚醒時間信息的步驟具體包括:
[0024]從所述歷史喚醒信息集合中獲取歷史喚醒時間信息。
[0025]進(jìn)一步的,在所述判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,所述方法還包括:
[0026]通過所述終端的系統(tǒng)上層應(yīng)用層中的歷史運行信息收集機(jī)制收集應(yīng)用程序的運行信息,以得到所述歷史運行信息集合。
[0027]本發(fā)明實施例還提供了一種應(yīng)用程序查找裝置,包括:判斷模塊、時間獲取模塊、候選應(yīng)用確定模塊以及目標(biāo)應(yīng)用確定模塊;
[0028]所述判斷模塊,用于判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常;
[0029]所述時間獲取模塊,用于當(dāng)所述判斷模塊判斷為是時,獲取所述終端系統(tǒng)的歷史喚醒時間信息;
[0030]所述候選應(yīng)用確定模塊,用于根據(jù)所述歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,所述歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息;
[0031]所述目標(biāo)應(yīng)用確定模塊,用于從所述候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序。
[0032]進(jìn)一步的,所述時間獲取模塊具體包括:狀態(tài)獲取子模塊和時間獲取子模塊;
[0033]所述狀態(tài)獲取子模塊,用于獲取所述終端系統(tǒng)的歷史狀態(tài)信息,其中,所述歷史狀態(tài)信息包括睡眠狀態(tài)和喚醒狀態(tài);
[0034]所述時間獲取子模塊,用于當(dāng)所述終端系統(tǒng)由睡眠狀態(tài)切換為喚醒狀態(tài)時,獲取所述終端對應(yīng)的時間信息并確定為所述歷史喚醒時間信息。
[0035]進(jìn)一步的,所述候選應(yīng)用確定模塊,具體用于根據(jù)所述歷史喚醒時間信息在所述歷史運行信息集合當(dāng)中查找所述終端系統(tǒng)中正在運行的應(yīng)用程序,確定所述應(yīng)用程序為候選應(yīng)用程序。
[0036]進(jìn)一步的,所述判斷模塊具體包括:功耗獲取子模塊、判斷子模塊以及確定子模塊;
[0037]所述功耗獲取子模塊,用于獲取在預(yù)設(shè)時間段內(nèi)所述終端的功耗值;
[0038]所述判斷子模塊,用于判斷所述功耗值是否大于預(yù)設(shè)閾值;
[0039]所述確定子模塊,用于當(dāng)所述判斷子模塊判斷為是時,確定所述終端當(dāng)前的系統(tǒng)功耗出現(xiàn)異常。
[0040]本發(fā)明實施例首先判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常,若是,則獲取終端系統(tǒng)的歷史喚醒時間信息,根據(jù)歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息,從候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序;本方法可以在終端功耗出現(xiàn)異常時確定候選應(yīng)用程序,并在這些候選應(yīng)用程序中確定喚醒終端導(dǎo)致功耗異常的目標(biāo)應(yīng)用程序,本方案能夠確定終端中是什么應(yīng)用程序?qū)е率謾C(jī)被頻繁喚醒,進(jìn)而可以有針對性的對系統(tǒng)和應(yīng)用程序進(jìn)行優(yōu)化,減少終端電量的浪費。
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0042]圖1為本發(fā)明實施例一提供的一種應(yīng)用程序查找方法的流程示意圖;
[0043]圖2為本發(fā)明實施例二提供的一種手機(jī)應(yīng)用程序查找方法的流程示意圖;
[0044]圖3為本發(fā)明實施例三提供的一種應(yīng)用程序查找裝置的結(jié)構(gòu)示意圖;
[0045]圖4為本發(fā)明實施例三提供的第二種應(yīng)用程序查找裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0046]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]本發(fā)明實施例提供一種應(yīng)用程序查找方法和裝置。以下將分別進(jìn)行詳細(xì)說明。
[0048]實施例一、
[0049]本實施例將從應(yīng)用程序查找裝置的角度對本發(fā)明進(jìn)行描述,該應(yīng)用程序查找裝置可以集成在終端中,終端可以為移動互聯(lián)網(wǎng)設(shè)備(如智能手機(jī)、平板電腦)、智能穿戴設(shè)備(如智能手表)等各類電子設(shè)備。
[0050]請參閱圖1,圖1為本發(fā)明實施例一提供的應(yīng)用程序查找方法的流程示意圖,本實施例的傳感器的關(guān)閉方法包括:
[0051 ]步驟S1I,獲取終端當(dāng)前的系統(tǒng)功耗信息。
[0052]在本發(fā)明實施例當(dāng)中,該功耗即為功率的損耗,指終端中輸入功率和輸出功率的差額,電路中通常指元、器件上耗散的熱能。有時也指整機(jī)或設(shè)備所需的電源功率。功耗同樣是所有的電器設(shè)備都有的一個指標(biāo),指的是在單位時間中所消耗的能源的數(shù)量,單位為W。
[0053]具體的,本發(fā)明中獲取終端當(dāng)前的系統(tǒng)功耗信息的方法可以有多種,比如,可以在一段預(yù)設(shè)時間段內(nèi)獲取終端消耗的功率值,即為該終端在這段時間內(nèi)的功耗值,其中,上述預(yù)設(shè)時間段可以根據(jù)用戶需求自行設(shè)定,比如設(shè)置為lmin、2min或是3min等等,優(yōu)選的,為了提升本方案的準(zhǔn)確定,可以將該預(yù)設(shè)時間段設(shè)置為一較短的時間段、比如lmin。
[0054]在其他實施例當(dāng)中,上述獲取當(dāng)前的系統(tǒng)功耗信息還可以每過預(yù)設(shè)時間獲取終端的電量信息,然后通過與歷史電量信息對比計算出在該時間段內(nèi)終端消耗的電量信息,比如,設(shè)置計時器每隔Imin獲取一次當(dāng)前的電量信息,將該電量信息與Imin前獲取到的歷史電量信息對比計算以得到終端在Imin內(nèi)消耗的電量信息。
[0055]步驟S102,判斷上述系統(tǒng)功耗是否出現(xiàn)異常,若是,則執(zhí)行步驟S103,若否,則返回步驟SlOl。
[0056]具體的,上述判斷系統(tǒng)功耗是否出現(xiàn)異常的方法可以有多種,比如判斷上述預(yù)設(shè)時間段內(nèi)終端消耗的功率值是否大于預(yù)設(shè)閾值,或是判斷預(yù)設(shè)時間段內(nèi)終端消耗的電量是否大于預(yù)設(shè)閾值,若是,則執(zhí)行下一步,若否,則返回上一步繼續(xù)獲取終端當(dāng)前的系統(tǒng)功耗信息,也即上述判斷系統(tǒng)功耗是否出現(xiàn)異常的步驟可以具體包括:
[0057]獲取在預(yù)設(shè)時間段內(nèi)上述終端的功耗值;
[0058]判斷該功耗值是否大于預(yù)設(shè)閾值;
[0059]若是,則確定終端當(dāng)前的系統(tǒng)功耗出現(xiàn)異常。
[0060]若判斷上述功耗值不大于預(yù)設(shè)值,則可以繼續(xù)獲取終端當(dāng)前的系統(tǒng)功耗信息,其中,上述預(yù)設(shè)值為終端的功耗異常的臨界值,可以由用戶根據(jù)實際情況自行設(shè)定,也可以由終端根據(jù)歷史使用情況計算生成,在此不做進(jìn)一步限定。
[0061 ]步驟S103,獲取終端系統(tǒng)的歷史喚醒時間信息。
[0062]在本發(fā)明實施例中,在上述判斷系統(tǒng)功耗出現(xiàn)異常之后,獲取終端系統(tǒng)的歷史喚醒時間信息的步驟之前,本方法還可以包括:生成提取申請,該提取申請用于提取終端中的歷史喚醒信息集合。
[0063]具體的,在獲取到歷史喚醒信息集合之后,從歷史喚醒信息集合中獲取終端系統(tǒng)的歷史喚醒時間信息,也即,查找終端系統(tǒng)被喚醒時對應(yīng)的喚醒時間信息,其中,該喚醒時間信息可以為一個或多個,其中,上述從歷史喚醒信息集合中獲取終端系統(tǒng)的歷史喚醒時間信息的方法可以有多種,比如對歷史喚醒信息集合進(jìn)行解析可以判斷終端當(dāng)前為睡眠狀態(tài)還是喚醒狀態(tài),在終端被喚醒時也即當(dāng)前狀態(tài)由睡眠狀態(tài)進(jìn)入喚醒狀態(tài)時,獲取對應(yīng)的時間信息,即上述從歷史喚醒信息集合中獲取終端系統(tǒng)的歷史喚醒時間信息的步驟可以具體包括:
[0064]獲取終端系統(tǒng)的歷史狀態(tài)信息,其中,歷史狀態(tài)信息包括睡眠狀態(tài)和喚醒狀態(tài);
[0065]當(dāng)終端系統(tǒng)由睡眠狀態(tài)切換為喚醒狀態(tài)時,獲取終端對應(yīng)的時間信息并確定為歷史喚醒時間信息。
[0066]步驟S104,根據(jù)歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序。
[0067]具體的,上述歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息,在該歷史運行信息集合當(dāng)中查找與上述歷史喚醒時間信息相匹配的歷史運行時間信息,并確定與該歷史運行時間信息相對應(yīng)的應(yīng)用程序,即候選應(yīng)用程序,以得到候選應(yīng)用程序集合。
[0068]進(jìn)一步的,上述根據(jù)歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序的步驟可以具體包括:
[0069]根據(jù)歷史喚醒時間信息在歷史運行信息集合當(dāng)中查找終端系統(tǒng)中正在運行的應(yīng)用程序;
[0070]確定該應(yīng)用程序為候選應(yīng)用程序。
[0071]比如上述歷史喚醒時間信息為t,則可以在歷史運行信息集合當(dāng)中查找時間為t時終端正在運行的應(yīng)用程序,這些應(yīng)用程序即為候選應(yīng)用程序,以得到候選應(yīng)用程序集合。
[0072]步驟S105,從候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序。
[0073]具體的,在得到候選應(yīng)用程序集合之后,可以分別判斷候選應(yīng)用程序集合中的應(yīng)用程序是否滿足預(yù)設(shè)條件,若是,則確定該應(yīng)用程序為目標(biāo)應(yīng)用程序,若否,則確定該應(yīng)用程序不為目標(biāo)應(yīng)用程序,其中,上述目標(biāo)應(yīng)用程序可以為多個。
[0074]在本發(fā)明實施例當(dāng)中,上述預(yù)設(shè)條件可以為能夠喚醒終端系統(tǒng)的一些條件,比如應(yīng)用程序持有喚醒鎖以喚醒終端系統(tǒng),或者應(yīng)用程序設(shè)置了鬧鐘函數(shù),該鬧鐘函數(shù)可以在進(jìn)程中設(shè)置定時器,當(dāng)定時器指定的時間到時,向進(jìn)程發(fā)送信號從而喚醒系統(tǒng)。
[0075]優(yōu)選的,在本發(fā)明實施例中,在步驟判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,該方法還可以包括:
[0076]通過終端的內(nèi)核驅(qū)動層中的信息收集機(jī)制收集終端系統(tǒng)被喚醒的喚醒信息,以得到歷史喚醒信息集合;
[0077]獲取終端系統(tǒng)的歷史喚醒時間信息的步驟具體包括:
[0078]從歷史喚醒信息集合中獲取歷史喚醒時間信息。
[0079]進(jìn)一步的,在判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,上述方法還可以包括:
[0080]通過終端的系統(tǒng)上層應(yīng)用層中的歷史運行信息收集機(jī)制收集應(yīng)用程序的運行信息,以得到歷史運行信息集合。
[0081]比如在終端的內(nèi)核驅(qū)動層添加kernellog(內(nèi)核驅(qū)動日志),kernel log用于保存內(nèi)核驅(qū)動底層(即Linux內(nèi)核層)的日志數(shù)據(jù),一旦系統(tǒng)通電,kernel log便開始記錄;在終端的上層應(yīng)用層添加android log(上層應(yīng)用日志),android log用于保存安卓系統(tǒng)上層應(yīng)用層(即應(yīng)用程序?qū)蛹磻?yīng)用程序框架層)的日志數(shù)據(jù)。
[0082]由上可知,本發(fā)明實施例首先判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常,若是,則獲取終端系統(tǒng)的歷史喚醒時間信息,根據(jù)歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息,從候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序;本方法可以在終端功耗出現(xiàn)異常時確定候選應(yīng)用程序,并在這些候選應(yīng)用程序中確定喚醒終端導(dǎo)致功耗異常的目標(biāo)應(yīng)用程序,本方案能夠確定終端中是什么應(yīng)用程序?qū)е率謾C(jī)被頻繁喚醒,進(jìn)而可以有針對性的對系統(tǒng)和應(yīng)用程序進(jìn)行優(yōu)化,節(jié)省終端電量、提高用戶體驗。
[0083]實施例二、
[0084]本實施例將在實施例一的基礎(chǔ)上,以智能手機(jī)為例,對本發(fā)明作進(jìn)一步描述,在本實施例當(dāng)中,歷史喚醒信息集合為kernel log內(nèi)核驅(qū)動日志,歷史運行信息集合為androidlog上層應(yīng)用日志,請參閱圖2,圖2為本發(fā)明實施例提供的一種應(yīng)用程序查找方法的流程示意圖,包括:
[0085]步驟S201,在智能手機(jī)的kernel和android中添加log。
[0086]具體的,在智能手機(jī)的內(nèi)核驅(qū)動層添加kernellog內(nèi)核驅(qū)動日志,在手機(jī)的上層應(yīng)用層添加android log上層應(yīng)用日志,并開始收集log。
[0087]步驟S202,獲取智能手機(jī)當(dāng)前的系統(tǒng)功耗信息。
[0088]比如,在一段預(yù)設(shè)時間段內(nèi)獲取終端消耗的功率值,即為該終端在這段時間內(nèi)的功耗值或者手機(jī)電池的電量消耗值,其中,上述預(yù)設(shè)時間段可以根據(jù)用戶需求自行設(shè)定,比如設(shè)置為lmin、2min或是3min等等。
[0089]步驟S203,智能手機(jī)判斷上述系統(tǒng)功耗是否大于預(yù)設(shè)值,若是,則執(zhí)行步驟S204,若否,則返回步驟S202。
[0090]本發(fā)明實施例中,上述預(yù)設(shè)值為終端的功耗異常的臨界值,可以由用戶根據(jù)實際情況自行設(shè)定,也可以由終端根據(jù)歷史使用情況計算生成,比如上述系統(tǒng)功耗信息為Imin之內(nèi)消耗手機(jī)電池電量的lOmAh,預(yù)設(shè)值可以為20mAh,此時手機(jī)判斷系統(tǒng)功耗不大于預(yù)設(shè)值,則返回步驟S202繼續(xù)獲取手機(jī)當(dāng)前的功耗信息;若上述系統(tǒng)功耗信息為Imin之內(nèi)消耗手機(jī)電池電量的30mAh,則判斷大于預(yù)設(shè)值,也即確定手機(jī)的系統(tǒng)功耗出現(xiàn)異常,將進(jìn)一步執(zhí)行步驟S204。
[0091 ]步驟S204,智能手機(jī)對kernel的log進(jìn)行解析,以得到手機(jī)系統(tǒng)被喚醒的時間點。
[0092]具體的,手機(jī)對kernel的log進(jìn)行解析后,可以查找到手機(jī)系統(tǒng)的睡眠和喚醒的兩個狀態(tài)關(guān)鍵字:PM: enter和PM: exit,分別代表手機(jī)系統(tǒng)的睡眠狀態(tài)和喚醒狀態(tài),當(dāng)手機(jī)系統(tǒng)在睡眠狀態(tài)下被喚醒時,PM就會由enter切換至exit,因此確定當(dāng)PM狀態(tài)由enter切換至exit時的時間點,該時間點也即手機(jī)系統(tǒng)被喚醒的時間點,其中,該時間點可以為一個也可以為多個。
[0093]步驟S205,智能手機(jī)對android的log進(jìn)行解析,確定在上述時間點手機(jī)中運行的應(yīng)用程序。
[0094]具體的,首先將kernel的log的時間與android的log的時間關(guān)聯(lián)起來,根據(jù)kernel的log的上述時間點確定android的log中同一時間點,查找在該時間點手機(jī)系統(tǒng)中正在運行的應(yīng)用程序。
[0095]步驟S206,從上述應(yīng)用程序當(dāng)中確定滿足預(yù)設(shè)條件的應(yīng)用程序。
[0096]在本發(fā)明實施例當(dāng)中,上述預(yù)設(shè)條件可以為能夠喚醒手機(jī)系統(tǒng)的一些條件,比如應(yīng)用程序持有喚醒鎖以喚醒手機(jī)系統(tǒng),或者應(yīng)用程序設(shè)置了鬧鐘函數(shù)alarm,該鬧鐘函數(shù)alarm可以在進(jìn)程中設(shè)置定時器,當(dāng)定時器指定的時間到時,向進(jìn)程發(fā)送信號從而喚醒手機(jī)系統(tǒng),確定滿足上述條件的應(yīng)用程序為目標(biāo)應(yīng)用程序。
[0097]由上可知,本發(fā)明實施例首先在智能手機(jī)的kernel和android中添加log,獲取智能手機(jī)當(dāng)前的系統(tǒng)功耗信息,判斷上述系統(tǒng)功耗是否大于預(yù)設(shè)值,若是,則對kernel的log進(jìn)行解析,以得到手機(jī)系統(tǒng)被喚醒的時間點,然后對android的log進(jìn)行解析,確定在上述時間點手機(jī)中運行的應(yīng)用程序,從上述應(yīng)用程序當(dāng)中確定滿足預(yù)設(shè)條件的應(yīng)用程序:本方法可以在手機(jī)功耗出現(xiàn)異常時確定候選應(yīng)用程序,并在這些候選應(yīng)用程序中確定喚醒手機(jī)導(dǎo)致功耗異常的目標(biāo)應(yīng)用程序,本方案能夠確定手機(jī)中是什么應(yīng)用程序?qū)е率謾C(jī)被頻繁喚醒,進(jìn)而可以有針對性的對系統(tǒng)和應(yīng)用程序進(jìn)行優(yōu)化,節(jié)省終端電量、提高用戶體驗。
[0098]實施例三、
[0099]為了更好地實施以上方法,本發(fā)明實施例將在上述方法基礎(chǔ)上提供一種應(yīng)用程序查找裝置,該應(yīng)用程序查找裝置可以集成在終端中,終端可以為移動互聯(lián)網(wǎng)設(shè)備(如智能手機(jī)、平板電腦)、智能穿戴設(shè)備(如智能手表)等各類電子設(shè)備。
[0100]請參閱圖3,圖3為本發(fā)明實施例三提供的一種應(yīng)用程序查找裝置的結(jié)構(gòu)示意圖,包括:判斷模塊301、時間獲取模塊302、候選應(yīng)用確定模塊303以及目標(biāo)應(yīng)用確定模塊304;
[0101]該判斷模塊301,用于判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常;
[0102]該時間獲取模塊302,用于當(dāng)判斷模塊301判斷為是時,獲取終端系統(tǒng)的歷史喚醒時間信息;
[0103]該候選應(yīng)用確定模塊303,用于根據(jù)歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息;
[0104]該目標(biāo)應(yīng)用確定模塊304,用于從候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序。
[0105]優(yōu)選的,如圖4所示,在本發(fā)明實施例提供的應(yīng)用程序查找裝置中,時間獲取模塊302具體包括:狀態(tài)獲取子模塊3021和時間獲取子模塊3022;
[0106]該狀態(tài)獲取子模塊3021,用于獲取終端系統(tǒng)的歷史狀態(tài)信息,其中,歷史狀態(tài)信息包括睡眠狀態(tài)和喚醒狀態(tài);
[0107]該時間獲取子模塊3022,用于當(dāng)終端系統(tǒng)由睡眠狀態(tài)切換為喚醒狀態(tài)時,獲取終端對應(yīng)的時間信息并確定為歷史喚醒時間信息。
[0108]判斷模塊301具體包括:功耗獲取子模塊3011、判斷子模塊3012以及確定子模塊3013;
[0109]該功耗獲取子模塊3011,用于獲取在預(yù)設(shè)時間段內(nèi)終端的功耗值;
[0110]該判斷子模塊3012,用于判斷功耗值是否大于預(yù)設(shè)閾值;
[0111]該確定子模塊3013,用于當(dāng)判斷子模塊3012判斷為是時,確定終端當(dāng)前的系統(tǒng)功耗出現(xiàn)異常。
[0112]在本發(fā)明實施例當(dāng)中,上述候選應(yīng)用確定模塊303,具體用于根據(jù)歷史喚醒時間信息在歷史運行信息集合當(dāng)中查找終端系統(tǒng)中正在運行的應(yīng)用程序,確定該應(yīng)用程序為候選應(yīng)用程序。
[0113]進(jìn)一步的,本發(fā)明實施例中的裝置還可以包括:第一收集模塊和第二收集模塊;
[0114]該第一收集模塊,用于在判斷模塊301判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,通過終端的內(nèi)核驅(qū)動層中的信息收集機(jī)制收集終端系統(tǒng)被喚醒的喚醒信息,以得到歷史喚醒信息集合;
[0115]該第二收集模塊,用于在判斷模塊301判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,通過終端的系統(tǒng)上層應(yīng)用層中的歷史運行信息收集機(jī)制收集應(yīng)用程序的運行信息,以得到歷史運行信息集合。
[0116]時間模塊302具體用于:從歷史喚醒信息集合中獲取歷史喚醒時間信息。
[0117]由上可知,本發(fā)明實施例首先由判斷模塊301判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常,若是,則由時間獲取模塊302獲取終端系統(tǒng)的歷史喚醒時間信息,候選應(yīng)用確定模塊303根據(jù)歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息,目標(biāo)應(yīng)用確定模塊304從候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序;本方法可以在終端功耗出現(xiàn)異常時確定候選應(yīng)用程序,并在這些候選應(yīng)用程序中確定喚醒終端導(dǎo)致功耗異常的目標(biāo)應(yīng)用程序,本方案能夠確定終端中是什么應(yīng)用程序?qū)е率謾C(jī)被頻繁喚醒,進(jìn)而可以有針對性的對系統(tǒng)和應(yīng)用程序進(jìn)行優(yōu)化,節(jié)省終端電量、提高用戶體驗。
[0118]具體實施時,以上各個模塊可以作為獨立的實體來實現(xiàn),也可以進(jìn)行任意組合,作為同一或若干個實體來實現(xiàn),以上各個模塊的具體實施可參見前面的方法實施例,在此不再贅述。
[0119]需要說明的是,本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于計算機(jī)可讀存儲介質(zhì)中,如存儲在終端的存儲器中,并被該終端內(nèi)的至少一個處理器執(zhí)行,在執(zhí)行過程中可包括如信息發(fā)布方法的實施例的流程。其中,存儲介質(zhì)可以包括:只讀存儲器(R0M,Read OnlyMemory)、隨機(jī)存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。
[0120]以上對本發(fā)明實施例提供的一種應(yīng)用程序查找方法和裝置進(jìn)行了詳細(xì)介紹,其各功能模塊可以集成在一個處理芯片中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【主權(quán)項】
1.一種應(yīng)用程序查找方法,其特征在于,包括以下步驟: 判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常; 若是,則獲取所述終端系統(tǒng)的歷史喚醒時間信息; 根據(jù)所述歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,所述歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息; 從所述候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序。2.如權(quán)利要求1所述的應(yīng)用程序查找方法,其特征在于,所述獲取所述終端系統(tǒng)的歷史喚醒時間信息的步驟具體包括: 獲取所述終端系統(tǒng)的歷史狀態(tài)信息,其中,所述歷史狀態(tài)信息包括睡眠狀態(tài)和喚醒狀態(tài); 當(dāng)所述終端系統(tǒng)由睡眠狀態(tài)切換為喚醒狀態(tài)時,獲取所述終端對應(yīng)的時間信息并確定為所述歷史喚醒時間信息。3.如權(quán)利要求1所述的應(yīng)用程序查找方法,其特征在于,所述根據(jù)所述歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序的步驟具體包括: 根據(jù)所述歷史喚醒時間信息在所述歷史運行信息集合當(dāng)中查找所述終端系統(tǒng)中正在運行的應(yīng)用程序; 確定所述應(yīng)用程序為候選應(yīng)用程序。4.如權(quán)利要求1所述的應(yīng)用程序查找方法,其特征在于,所述判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常的步驟具體包括: 獲取在預(yù)設(shè)時間段內(nèi)所述終端的功耗值; 判斷所述功耗值是否大于預(yù)設(shè)閾值; 若是,則確定所述終端當(dāng)前的系統(tǒng)功耗出現(xiàn)異常。5.如權(quán)利要求1所述的應(yīng)用程序查找方法,其特征在于,在所述判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,所述方法還包括: 通過所述終端的內(nèi)核驅(qū)動層中的信息收集機(jī)制收集終端系統(tǒng)被喚醒的喚醒信息,以得到歷史喚醒信息集合; 所述獲取所述終端系統(tǒng)的歷史喚醒時間信息的步驟具體包括: 從所述歷史喚醒信息集合中獲取歷史喚醒時間信息。6.如權(quán)利要求1所述的應(yīng)用程序查找方法,其特征在于,在所述判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常之前,所述方法還包括: 通過所述終端的系統(tǒng)上層應(yīng)用層中的歷史運行信息收集機(jī)制收集應(yīng)用程序的運行信息,以得到所述歷史運行信息集合。7.—種應(yīng)用程序查找裝置,其特征在于,包括:判斷模塊、時間獲取模塊、候選應(yīng)用確定模塊以及目標(biāo)應(yīng)用確定模塊; 所述判斷模塊,用于判斷終端當(dāng)前的系統(tǒng)功耗是否出現(xiàn)異常; 所述時間獲取模塊,用于當(dāng)所述判斷模塊判斷為是時,獲取所述終端系統(tǒng)的歷史喚醒時間信息; 所述候選應(yīng)用確定模塊,用于根據(jù)所述歷史喚醒時間信息和歷史運行信息集合確定相應(yīng)的候選應(yīng)用程序,以得到候選應(yīng)用程序集合,所述歷史運行信息集合包括應(yīng)用程序的歷史運行時間信息; 所述目標(biāo)應(yīng)用確定模塊,用于從所述候選應(yīng)用程序集合中確定滿足預(yù)設(shè)應(yīng)用異常條件的目標(biāo)應(yīng)用程序。8.如權(quán)利要求7所述的應(yīng)用程序查找裝置,其特征在于,所述時間獲取模塊具體包括:狀態(tài)獲取子模塊和時間獲取子模塊; 所述狀態(tài)獲取子模塊,用于獲取所述終端系統(tǒng)的歷史狀態(tài)信息,其中,所述歷史狀態(tài)信息包括睡眠狀態(tài)和喚醒狀態(tài); 所述時間獲取子模塊,用于當(dāng)所述終端系統(tǒng)由睡眠狀態(tài)切換為喚醒狀態(tài)時,獲取所述終端對應(yīng)的時間信息并確定為所述歷史喚醒時間信息。9.如權(quán)利要求7所述的應(yīng)用程序查找裝置,其特征在于, 所述候選應(yīng)用確定模塊,具體用于根據(jù)所述歷史喚醒時間信息在所述歷史運行信息集合當(dāng)中查找所述終端系統(tǒng)中正在運行的應(yīng)用程序,確定所述應(yīng)用程序為候選應(yīng)用程序。10.如權(quán)利要求7所述的應(yīng)用程序查找裝置,其特征在于,所述判斷模塊具體包括:功耗獲取子模塊、判斷子模塊以及確定子模塊; 所述功耗獲取子模塊,用于獲取在預(yù)設(shè)時間段內(nèi)所述終端的功耗值; 所述判斷子模塊,用于判斷所述功耗值是否大于預(yù)設(shè)閾值; 所述確定子模塊,用于當(dāng)所述判斷子模塊判斷為是時,確定所述終端當(dāng)前的系統(tǒng)功耗出現(xiàn)異常。
【文檔編號】G06F11/30GK106095645SQ201610459897
【公開日】2016年11月9日
【申請日】2016年6月21日
【發(fā)明人】甄文先
【申請人】廣東歐珀移動通信有限公司