亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

目標(biāo)應(yīng)用程序的選取方法及裝置與流程

文檔序號:12801758閱讀:275來源:國知局
目標(biāo)應(yīng)用程序的選取方法及裝置與流程

本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種目標(biāo)應(yīng)用程序的選取方法及裝置。



背景技術(shù):

傳統(tǒng)技術(shù)中,從移動(dòng)終端的已開啟窗口或者已運(yùn)行的應(yīng)用程序中選取目標(biāo)應(yīng)用程序的方法有兩種:

第一,判斷當(dāng)前應(yīng)用程序是否在正在運(yùn)行的任務(wù)列表(runningtaskinfo)中,若不是,則將當(dāng)前應(yīng)用程序選取為目標(biāo)應(yīng)用程序,然而,因?yàn)榍笆鋈蝿?wù)列表是通過操作系統(tǒng)提供的應(yīng)用程序編程接口(applicationprogramminginterface,api)函數(shù)獲取的,對于不提供該api函數(shù)的操作系統(tǒng)(如,android5.0),則無法獲取任務(wù)列表,從而也就無法選取目標(biāo)應(yīng)用程序,由此可以看出,該方法的適用性較差。

第二,判斷當(dāng)前應(yīng)用程序是否在正在運(yùn)行的進(jìn)程(runningprocess)列表,若不是,則將當(dāng)前應(yīng)用程序選取為目標(biāo)應(yīng)用程序,然而由于有些應(yīng)用程序存在常駐的業(yè)務(wù)(service),其可能一直存在于進(jìn)程列表中,因此根據(jù)該方法選取的目標(biāo)應(yīng)用程序可能是不準(zhǔn)確的,進(jìn)而浪費(fèi)了計(jì)算機(jī)資源。



技術(shù)實(shí)現(xiàn)要素:

本申請實(shí)施例提供了一種目標(biāo)應(yīng)用程序的選取方法及裝置,可以提高目標(biāo)應(yīng)用程序選取的準(zhǔn)確性和適用性。

第一方面,提供了一種目標(biāo)應(yīng)用程序的選取方法,該方法包括:

獲取移動(dòng)終端上已開啟窗口或者已運(yùn)行的應(yīng)用程序;

監(jiān)測對所述應(yīng)用程序的activity執(zhí)行的目標(biāo)事件;

根據(jù)所述目標(biāo)事件的執(zhí)行次數(shù),確定已創(chuàng)建的activity的數(shù)量;

若所述已創(chuàng)建的activity的數(shù)量滿足預(yù)設(shè)條件,則將所述應(yīng)用程序選取為目標(biāo)應(yīng)用程序。

第二方面,提供了一種目標(biāo)應(yīng)用程序的選取裝置,該裝置包括:

獲取單元,用于獲取移動(dòng)終端上已開啟窗口或者已運(yùn)行的應(yīng)用程序;

監(jiān)測單元,用于監(jiān)測對所述獲取單元獲取的所述應(yīng)用程序的activity執(zhí)行的目標(biāo)事件;

確定單元,用于根據(jù)所述監(jiān)測單元監(jiān)測的所述目標(biāo)事件的執(zhí)行次數(shù),確定已創(chuàng)建的activity的數(shù)量;

選取單元,用于若所述確定單元確定的所述已創(chuàng)建的activity的數(shù)量滿足預(yù)設(shè)條件,則將所述應(yīng)用程序選取為目標(biāo)應(yīng)用程序。

本申請?zhí)峁┑哪繕?biāo)應(yīng)用程序的選取方法及裝置,根據(jù)應(yīng)用程序的activity的目標(biāo)事件的執(zhí)行次數(shù),確定已創(chuàng)建的activity的數(shù)量,之后根據(jù)已創(chuàng)建的activity的數(shù)量,來選取目標(biāo)應(yīng)用程序;也即本申請是通過監(jiān)測應(yīng)用程序中已創(chuàng)建activity的數(shù)量,來選取目標(biāo)應(yīng)用程序的,由此,可以解決傳統(tǒng)的通過判斷當(dāng)前應(yīng)用程序是否在任務(wù)列表或者進(jìn)程列表,而導(dǎo)致的選取的目標(biāo)應(yīng)用程序不準(zhǔn)確的問題。

附圖說明

圖1為本申請?zhí)峁┑腶ctivity的生命周期示意圖;

圖2為本申請一種實(shí)施例提供的目標(biāo)應(yīng)用程序的選取方法流程圖;

圖3為本申請?jiān)僖环N實(shí)施例提供的目標(biāo)應(yīng)用程序的選取裝置示意圖。

具體實(shí)施方式

下面結(jié)合附圖,對本發(fā)明的實(shí)施例進(jìn)行描述。

本申請?zhí)峁┑哪繕?biāo)應(yīng)用程序的選取方法及裝置,適用于從移動(dòng)終端的已開啟窗口或者已運(yùn)行的應(yīng)用程序中選取目標(biāo)應(yīng)用程序的場景,尤其適用于根據(jù)應(yīng)用程序中已創(chuàng)建的activity的數(shù)量,選取目標(biāo)應(yīng)用程序的場景。此處的移動(dòng)終端可以為手機(jī)或者平板電腦等,移動(dòng)終端的操作系統(tǒng)可以為安卓(android)系統(tǒng);目標(biāo)應(yīng)用程序是指移動(dòng)終端上已開啟窗口或者已運(yùn)行的應(yīng)用程序中未被切換至前臺的應(yīng)用程序,其通常會被包含在移動(dòng)終端的任務(wù)管理界面中,其中,任務(wù)管理界面可以由用戶雙擊移動(dòng)終端上的home鍵或者長按移動(dòng)終端上的菜單鍵觸發(fā)。

需要說明的是,上述activity是指應(yīng)用程序中負(fù)責(zé)與用戶交互的組件,其通常就是一個(gè)單獨(dú)的屏幕,該屏幕上可以顯示一些控件,也可以監(jiān)聽并處理用戶的事件,其生命周期可以如圖1所示。圖1中,開始(onstart())事件用于新增一個(gè)activity,而結(jié)束(onstop())事件用于減少一個(gè)activity。從圖1中可以看出,應(yīng)用程序中最終的activity的數(shù)量與該應(yīng)用程序是否在前臺是息息相關(guān)的,一旦該應(yīng)用程序從前臺切換至后臺,則應(yīng)用程序中activity的數(shù)量就會為0。而本申請正是根據(jù)應(yīng)用程序中activity的數(shù)量,來選取目標(biāo)應(yīng)用程序。

以下將通過實(shí)施例的方式來對本申請的目標(biāo)應(yīng)用程序的選取方法進(jìn)行說明。

圖2為本申請一種實(shí)施例提供的目標(biāo)應(yīng)用程序的選取方法流程圖。該方法的執(zhí)行主體可以為具有處理能力的設(shè)備:服務(wù)器或者系統(tǒng)或者裝置,如圖2所示,該方法具體可以包括:

步驟210,獲取移動(dòng)終端上已開啟窗口或者已運(yùn)行的應(yīng)用程序。

可以理解的是,上述已開啟窗口或者已運(yùn)行的應(yīng)用程序的個(gè)數(shù)可以為一或多個(gè)。

移動(dòng)終端上已開啟窗口或者已運(yùn)行的一個(gè)或多個(gè)應(yīng)用程序會被包含在任務(wù)管理界面中,該任務(wù)管理界面可以由用戶雙擊移動(dòng)終端上的home鍵或者長按移動(dòng)終端上的菜單鍵觸發(fā)。需要說明的是,在某一時(shí)刻,這些已開啟窗口或者已運(yùn)行的一個(gè)或多個(gè)應(yīng)用程序中只有一個(gè)應(yīng)用程序會被切換至前臺,而其它應(yīng)用程序則運(yùn)行在后臺,這些運(yùn)行在后臺的其它應(yīng)用程序也會耗費(fèi)計(jì)算機(jī)的內(nèi)存等資源。

步驟220,監(jiān)測對應(yīng)用程序的activity執(zhí)行的目標(biāo)事件。

此處,目標(biāo)事件可以包括圖1中所示的開始事件(onstart())以及結(jié)束事件(onstop())。

在一種實(shí)現(xiàn)方式中,步驟220具體可以為:

步驟a:創(chuàng)建應(yīng)用程序的activity生命周期監(jiān)測類的實(shí)例。

在移動(dòng)終端的操作系統(tǒng)為android時(shí),此處的activity生命周期監(jiān)測類可以為android的activitylifecyclecallbacks類,通過該類的實(shí)例可以監(jiān)測應(yīng)用程序中每個(gè)activity的生命周期。

步驟b:通過該實(shí)例,監(jiān)測對activity執(zhí)行的目標(biāo)事件。

需要說明的是,activitylifecyclecallbacks類的實(shí)例包括了兩個(gè)方法:onactivitystarted()和onactivitystopped(),通過該兩個(gè)方法可以監(jiān)測對activity執(zhí)行的開始事件和結(jié)束事件。具體地,當(dāng)對activity執(zhí)行了圖1中的onstart()事件,就會相應(yīng)的觸發(fā)activitylifecyclecallbacks類的實(shí)例中的onactivitystarted();當(dāng)對activity執(zhí)行了圖1中的onstop()事件,就會相應(yīng)的觸發(fā)activitylifecyclecallbacks類的實(shí)例中的onactivitystopped()。由此可以說明,onactivitystarted()的執(zhí)行次數(shù)與onstart()的執(zhí)行次數(shù)是相同的,onactivitystopped()的執(zhí)行次數(shù)與onstop()的執(zhí)行次數(shù)是相同的。也即通過統(tǒng)計(jì)onactivitystarted()的執(zhí)行次數(shù),來確定activity的開始事件的執(zhí)行次數(shù),相應(yīng)的,通過統(tǒng)計(jì)onactivitystopped()的執(zhí)行次數(shù),來確定activity的結(jié)束事件的執(zhí)行次數(shù)。

步驟230,根據(jù)目標(biāo)事件的執(zhí)行次數(shù),確定已創(chuàng)建的activity的數(shù)量。

在一種具體實(shí)現(xiàn)方式中,可以分別統(tǒng)計(jì)activity的開始事件的執(zhí)行次數(shù)以及結(jié)束事件的執(zhí)行次數(shù),之后將activity的開始事件的執(zhí)行次數(shù)以及結(jié)束事件的執(zhí)行次數(shù)的差值作為已創(chuàng)建的activity的數(shù)量。

在另一種具體實(shí)現(xiàn)方式中,也可以通過計(jì)數(shù)器的計(jì)數(shù)值,來確定已創(chuàng)建的activity的數(shù)量,具體可參見如下所示的實(shí)現(xiàn)代碼:

在上述實(shí)現(xiàn)代碼中,可以初始化一個(gè)計(jì)數(shù)器mactivitycount,當(dāng)activitylifecyclecallbacks類的實(shí)例的onactivitystarted()被執(zhí)行時(shí),也即當(dāng)activity的開始事件被執(zhí)行時(shí),計(jì)數(shù)器mactivitycount加一;當(dāng)activitylifecyclecallbacks類的實(shí)例的onactivitystopped()被執(zhí)行時(shí),也即當(dāng)activity的結(jié)束事件被執(zhí)行時(shí),計(jì)數(shù)器mactivitycount減一;之后將計(jì)數(shù)器的計(jì)數(shù)值作為已創(chuàng)建的activity的數(shù)量。

步驟240,若已創(chuàng)建的activity的數(shù)量滿足預(yù)設(shè)條件,則將應(yīng)用程序選取為目標(biāo)應(yīng)用程序。

此處,可以將已創(chuàng)建的activity的數(shù)量為0判斷為滿足預(yù)設(shè)條件,也即本申請將已創(chuàng)建的activity的數(shù)量為0的應(yīng)用程序選取為目標(biāo)應(yīng)用程序,而根據(jù)上述所述的內(nèi)容可知,已創(chuàng)建的activity的數(shù)量為0的應(yīng)用程序即為切換至后臺的應(yīng)用程序,也即本申請選取的目標(biāo)應(yīng)用程序可以為已開啟窗口或者已運(yùn)行的應(yīng)用程序中未被切換至前臺的應(yīng)用程序,然而由于這些未被切換至前臺的應(yīng)用程序往往也會占用內(nèi)存等資源,因此,在一種場景下,在選取出上述目標(biāo)應(yīng)用程序之后,可以將該目標(biāo)應(yīng)用程序的相關(guān)信息發(fā)送至計(jì)算機(jī)的資源管理模塊,從而該資源管理模塊可以釋放目標(biāo)應(yīng)用程序的內(nèi)存等資源,由此可以達(dá)到節(jié)約計(jì)算機(jī)資源的目的。

當(dāng)然,在實(shí)際應(yīng)用中,對選取的目標(biāo)應(yīng)用程序還可以做其它處理,本申請對此不作限定。

綜上,本申請是通過監(jiān)測應(yīng)用程序中已創(chuàng)建activity的數(shù)量,來選取目標(biāo)應(yīng)用程序的,而根據(jù)圖1所示的內(nèi)容可以看出,應(yīng)用程序中最終的activity的數(shù)量與該應(yīng)用程序是否在前臺是息息相關(guān)的,一旦該應(yīng)用程序從前臺切換至后臺,則應(yīng)用程序中activity的數(shù)量就會為0,因此根據(jù)本申請?zhí)峁┑哪繕?biāo)應(yīng)用程序的選取方法可以提高目標(biāo)應(yīng)用程序選取的準(zhǔn)確性;此外,由于activity是android系統(tǒng)中一定會存在的應(yīng)用程序組件,從而根據(jù)本申請?zhí)峁┑哪繕?biāo)應(yīng)用程序的選取方法可以提高目標(biāo)應(yīng)用程序選取的適用性。

與上述目標(biāo)應(yīng)用程序的選取方法對應(yīng)地,本申請實(shí)施例還提供的一種目標(biāo)應(yīng)用程序的選取裝置,如圖3所示,該裝置包括:

獲取單元301,用于獲取移動(dòng)終端上已開啟窗口或者已運(yùn)行的應(yīng)用程序。

監(jiān)測單元302,用于監(jiān)測對獲取單元301獲取的應(yīng)用程序的activity執(zhí)行的目標(biāo)事件。

監(jiān)測單元302具體用于:

創(chuàng)建應(yīng)用程序的activity生命周期監(jiān)測類的實(shí)例;

通過該實(shí)例,監(jiān)測對activity執(zhí)行的目標(biāo)事件。

確定單元303,用于根據(jù)監(jiān)測單元302監(jiān)測的目標(biāo)事件的執(zhí)行次數(shù),確定已創(chuàng)建的activity的數(shù)量。

可選地,目標(biāo)事件可以包括開始事件以及結(jié)束事件;

確定單元303具體用于:

將開始事件的執(zhí)行次數(shù)與結(jié)束事件的執(zhí)行次數(shù)的差值作為已創(chuàng)建的activity的數(shù)量。

可選地,目標(biāo)事件可以包括開始事件以及結(jié)束事件;

確定單元303具體用于:

初始化計(jì)數(shù)器;

若開始事件被執(zhí)行,則將計(jì)數(shù)器加一;

若結(jié)束事件被執(zhí)行,則將計(jì)數(shù)器減一;

根據(jù)計(jì)數(shù)器的計(jì)數(shù)值,確定已創(chuàng)建的activity的數(shù)量。

選取單元304,用于若確定單元303確定的已創(chuàng)建的activity的數(shù)量滿足預(yù)設(shè)條件,則將應(yīng)用程序選取為目標(biāo)應(yīng)用程序。

在一種實(shí)現(xiàn)方式中,若已創(chuàng)建的activity的數(shù)量為第一數(shù)值,則判斷為已創(chuàng)建的activity的數(shù)量滿足預(yù)設(shè)條件。

本申請實(shí)施例裝置的各功能模塊的功能,可以通過上述方法實(shí)施例的各步驟來實(shí)現(xiàn),因此,本申請?zhí)峁┑难b置的具體工作過程,在此不復(fù)贅述。

本申請?zhí)峁┑哪繕?biāo)應(yīng)用程序的選取裝置,獲取單元301獲取移動(dòng)終端上已開啟窗口或者已運(yùn)行的應(yīng)用程序;監(jiān)測單元302監(jiān)測對應(yīng)用程序的activity執(zhí)行的目標(biāo)事件;確定單元303根據(jù)目標(biāo)事件的執(zhí)行次數(shù),確定已創(chuàng)建的activity的數(shù)量;若已創(chuàng)建的activity的數(shù)量滿足預(yù)設(shè)條件,則選取單元304將應(yīng)用程序選取為目標(biāo)應(yīng)用程序。由此,可以提高目標(biāo)應(yīng)用程序選取的準(zhǔn)確性和適用性。

專業(yè)人員應(yīng)該還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的對象及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。

以上所述的具體實(shí)施方式,對本申請的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本申請的具體實(shí)施方式而已,并不用于限定本申請的保護(hù)范圍,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1