本發(fā)明實施例涉及計算機技術(shù),尤其涉及一種廣播接收者隊列調(diào)整方法、裝置和終端設(shè)備。
背景技術(shù):
廣播是一種被廣泛運用的在應(yīng)用程序之間進行信息傳輸?shù)臋C制,以安卓操作系統(tǒng)為例,其通過廣播(broadcast)來實現(xiàn)應(yīng)用程序間數(shù)據(jù)的傳輸和共享。典型的,如安卓自帶的短信、電話等廣播。
在安卓系統(tǒng)中,廣播發(fā)送者通過調(diào)用sendbroadcast函數(shù)進行廣播消息的發(fā)送,廣播接收者通過調(diào)用registerreceiver函數(shù)在管理模塊中進行廣播接收器(broadcastreceiver)的注冊,并定義自身感興趣的廣播消息,由此來實現(xiàn)對相應(yīng)的廣播消息的接收。
現(xiàn)有技術(shù)中,廣播接收者在接收廣播發(fā)送者發(fā)送的廣播時存在缺陷,使得廣播處理效率低下,系統(tǒng)資源消耗過多且穩(wěn)定性差。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種廣播接收者隊列調(diào)整方法、裝置和終端設(shè)備,提高了廣播處理效率,降低了系統(tǒng)資源消耗,使得系統(tǒng)穩(wěn)定性增加。
第一方面,本發(fā)明實施例提供了一種廣播接收者隊列調(diào)整方法,包括:
獲取廣播發(fā)送隊列中待發(fā)送的廣播消息;
確定和所述待發(fā)送的廣播消息對應(yīng)的廣播接收者;
遍歷所述廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端。
第二方面,本發(fā)明實施例還提供了一種廣播接收者隊列調(diào)整裝置,包括:
獲取模塊,用于獲取廣播發(fā)送隊列中待發(fā)送的廣播消息;
接收者確定模塊,用于確定和所述待發(fā)送的廣播消息對應(yīng)的廣播接收者;
進程遍歷模塊,用于遍歷所述廣播接收者對應(yīng)的進程;
隊列調(diào)整模塊,用于將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端。
第三方面,本發(fā)明實施例還提供了一種終端設(shè)備,包括:處理器、存儲器以及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
獲取廣播發(fā)送隊列中待發(fā)送的廣播消息;
確定和所述待發(fā)送的廣播消息對應(yīng)的廣播接收者;
遍歷所述廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端。
本發(fā)明實施例提供的技術(shù)方案,通過獲取廣播發(fā)送隊列中待發(fā)送的廣播消息,確定和所述待發(fā)送的廣播消息對應(yīng)的廣播接收者,遍歷所述廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端,解決了現(xiàn)有的廣播接收機制處理效率低下的問題,提高了廣播處理效率,降低了系統(tǒng)資源消耗,使得系統(tǒng)穩(wěn)定性增加。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本發(fā)明實施例提供的一種廣播接收者隊列調(diào)整方法的流程圖;
圖2是本發(fā)明實施例提供的另一種廣播接收者隊列調(diào)整方法的流程圖;
圖3是本發(fā)明實施例提供的另一種廣播接收者隊列調(diào)整方法的流程圖;
圖4是本發(fā)明實施例提供的一種廣播接收者隊列調(diào)整裝置的結(jié)構(gòu)框圖;
圖5是本發(fā)明實施例提供的一種終端設(shè)備的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
圖1是本發(fā)明實施例提供的一種廣播接收者隊列調(diào)整方法的流程圖,本實施例可適用于對廣播接收者隊列進行調(diào)整的情況,該方法可以由本發(fā)明實施例提供的終端設(shè)備來執(zhí)行,該終端設(shè)備的廣播接收者隊列調(diào)整裝置可采用軟件和/或硬件的方式實現(xiàn),如圖1所示,本實施例提供的具體方案如下:
s101、獲取廣播發(fā)送隊列中待發(fā)送的廣播消息。
在廣播處理過程中,廣播發(fā)送者的服務(wù)進程通過調(diào)用廣播發(fā)送函數(shù)(如sendbroadcast函數(shù))將廣播消息發(fā)送至管理模塊(如activitymanagerservice,活動管理服務(wù)),管理模塊接收到該廣播消息后將其放入廣播發(fā)送隊列,管理模塊通過進程通信機制(如binder進程通信機制)將廣播發(fā)送隊列中的廣播消息發(fā)送至符合接收條件的廣播接收者。其中,該廣播發(fā)送隊列可以是串行廣播發(fā)送隊列也可以是并行廣播發(fā)送隊列。
在一個實施例中,廣播消息指的是系統(tǒng)或者應(yīng)用程序在運行過程中發(fā)送的,用于系統(tǒng)和/或應(yīng)用程序之間傳輸?shù)男畔?,示例性的,廣播消息可以是系統(tǒng)啟動廣播消息、短信類廣播消息、電話類廣播消息或者三方應(yīng)用類廣播消息等。廣播發(fā)送隊列由管理模塊生成、管理,待發(fā)送的廣播消息在本步驟可解釋為廣播發(fā)送隊列中當前正在處理的即將發(fā)送的廣播消息。
s102、確定和待發(fā)送的廣播消息對應(yīng)的廣播接收者。
其中,確定出的和待發(fā)送的廣播消息對應(yīng)的廣播接收者指符合接收條件的廣播接收者。在一個實施例中,該廣播接收者為通過進程通信機制向管理模塊注冊(訂閱)了接收該廣播消息的廣播接收者。具體的,廣播接收者的服務(wù)進程通過調(diào)用registerreceiver函數(shù)在管理模塊中進行廣播接收器的注冊,同時定義自身感興趣的廣播消息,管理模塊在發(fā)送廣播發(fā)送隊列中的廣播消息時,依據(jù)廣播接收者的注冊情況,將該廣播消息發(fā)送至對其進行訂閱了的廣播接收者相應(yīng)的消息循環(huán)隊列中,廣播接收者接收到該廣播消息后回調(diào)注冊的廣播接收器中的接收方法(如onreceive方法)來執(zhí)行相應(yīng)的功能以對該廣播消息進行處理。
每一個廣播消息可以存在一個或多個對應(yīng)的廣播接收者,示例性的,廣播發(fā)送者(如應(yīng)用a)發(fā)送一個廣播消息至管理模塊,管理模塊可將該廣播消息發(fā)給一個(如應(yīng)用b)或多個(如應(yīng)用c、應(yīng)用d、應(yīng)用e等)對應(yīng)的廣播接收者,對應(yīng)的廣播接收者的數(shù)量取決于注冊接收該廣播消息的廣播接收者的數(shù)量。
s103、遍歷廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端。
廣播機制中,廣播發(fā)送者發(fā)送廣播消息的過程和廣播接收者接收廣播消息的過程是異步操作過程,廣播發(fā)送者和廣播接收者通過管理模塊實現(xiàn)低耦合的關(guān)系匹配。其中,根據(jù)廣播發(fā)送方式的不同可將廣播消息分為普通廣播消息和有序廣播消息。普通廣播消息被管理模塊發(fā)出后,廣播接收者對該廣播消息的接收是無序的,而有序廣播消息被管理模塊發(fā)出后,廣播接收者按照順序先后依次接收,即第一個廣播接收者接收到廣播消息并處理完畢后,第二個廣播接收者才能開始接收并處理該廣播消息,依次類推。
針對有序廣播而言,廣播消息對應(yīng)的廣播接收者無法同時接收到該廣播消息,廣播接收者需要根據(jù)接收次序依次接收、處理廣播消息。在一個實施例中,多個廣播接收者接收、處理廣播消息的次序采用廣播接收者隊列的形式予以體現(xiàn)。在系統(tǒng)默認情況下,該廣播隊列中廣播接收者接收廣播消息的次序可以依據(jù)廣播接收者的默認的參數(shù)確定,還可以是根據(jù)系統(tǒng)預(yù)設(shè)的默認條件確定,無法根據(jù)系統(tǒng)在具體運行過程中的運行參量進行廣播接收者隊列的調(diào)整。由此,廣播接收者需根據(jù)廣播接收者隊列依次接收廣播消息使得不同廣播接收者接收廣播消息的時間先后不同,導(dǎo)致一些廣播接收者無法及時接收廣播消息,使得重要的廣播消息得不到及時處理。示例性的,若系統(tǒng)當前界面運行的應(yīng)用程序中存在待發(fā)送的廣播消息的廣播接收者,且該廣播接收者位于廣播接收者隊列的尾端,則發(fā)送該廣播消息后,系統(tǒng)當前界面運行的應(yīng)用程序無法第一時間對該廣播消息進行接收、處理,降低了當前界面中的應(yīng)用程序?qū)υ搹V播消息的響應(yīng)效率。針對普通廣播而言,由于廣播接收者接收廣播消息的無序性,對某一特定廣播接收者來說,其也無法第一時間接收到該廣播,而是依賴于系統(tǒng)的運行效率。
本步驟中,在s102確定出和廣播消息對應(yīng)的廣播接收者后,遍歷廣播接收者對應(yīng)的進程,其中廣播接收者在運行過程中會啟動相應(yīng)的進程,進程指系統(tǒng)中的程序關(guān)于某數(shù)據(jù)集合上的運行活動,是系統(tǒng)進行資源分配和調(diào)度的基本單位,是系統(tǒng)結(jié)構(gòu)的組成基礎(chǔ),為應(yīng)用程序的基本執(zhí)行實體。其中,進程活躍度表征了廣播接收者運行的進程的狀態(tài),其中,可以是廣播接收者當前運行過程中對應(yīng)的進程的狀態(tài),還可以是廣播接收者對應(yīng)的進程在歷史運行過程中的狀態(tài)。將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端,對廣播接收者隊列進行了適應(yīng)性調(diào)整,使得一些進程活躍度滿足預(yù)設(shè)條件的廣播接收者被排列在廣播接收者隊列前端得以盡快接收到廣播消息。在一個實施例中,該進程活躍度指進程是否在系統(tǒng)中處于運行狀態(tài),該預(yù)設(shè)條件指進程在系統(tǒng)中正在運行。具體的,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端包括:將系統(tǒng)當前正在運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的前端。即,通過判斷廣播接收者隊列中排隊的廣播接收者對應(yīng)的進程是否在系統(tǒng)中處于運行狀態(tài)來確定是否將廣播接收者設(shè)置在廣播接收者隊列前端。系統(tǒng)當前正在運行的進程為已經(jīng)啟動的實時執(zhí)行的進程,通過將對應(yīng)的廣播接收者設(shè)置在隊列靠前的位置可以使其第一時間快速得到廣播消息并進行即使處理,也不會使某些處于非運行狀態(tài)的廣播接收者被喚醒。在一個實施例中,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端,可以是在遍歷廣播接收者對應(yīng)的進程時,當確定該進程為運行狀態(tài)后,將該廣播接收者從廣播接收者隊列中移除,插入到廣播隊列的隊頭,當再次確定出廣播接收者對應(yīng)的進程處于運行狀態(tài)后,執(zhí)行相同操作,將確定出的廣播接收者設(shè)置在調(diào)整后的新的廣播接收者隊列的隊頭。在一個實施例中,還可以是遍歷廣播接收者對應(yīng)的進程,對正在運行的進程對應(yīng)的廣播接收者進行記錄,當遍歷完畢后,統(tǒng)一將確定出的廣播接收者插入到隊列前端,具體的,可以是依據(jù)遍歷過程中確定出的廣播接收者的順序依次插入,還可是隨機插入到隊列前端。在另一實施例中,該廣播接收者隊列的前端可以是廣播接收者隊列的預(yù)設(shè)位置,該預(yù)設(shè)位置可以是廣播接收者隊列中排序在前20%的位置。
本實施例提供了一種廣播接收者隊列調(diào)整方法,通過遍歷待發(fā)送的廣播消息的廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端,形成新的廣播接收者隊列(可以是創(chuàng)建新的廣播接收者隊列也可以是修改原有的有序廣播接收者隊列),提高了廣播處理效率,降低了系統(tǒng)資源消耗,使得系統(tǒng)穩(wěn)定性增加。
圖2是本發(fā)明實施例提供的另一種廣播接收者隊列調(diào)整方法的流程圖,在上述實施例的基礎(chǔ)上,可選的,將系統(tǒng)當前正在運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的前端包括:將系統(tǒng)當前正在運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的前端。
基于上述優(yōu)化,如圖2所示,本實施例提供的技術(shù)方案具體如下:
s201、獲取廣播發(fā)送隊列中待發(fā)送的廣播消息。
s202、確定和待發(fā)送的廣播消息對應(yīng)的廣播接收者。
s203、遍歷廣播接收者對應(yīng)的進程,將和系統(tǒng)前臺進程一致的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的隊頭。
在一個實施例中,進程的運行情況可以是前臺運行進程、后臺隱含執(zhí)行進程和停止運行的進程。通過遍歷廣播接收者對應(yīng)的進程,可獲取廣播接收者對應(yīng)的進程的當前運行信息,根據(jù)廣播接收者對應(yīng)的進程的當前運行信息對廣播接收者隊列進行調(diào)整設(shè)置以重新排序,示例性的,可以是前臺運行進程對應(yīng)的廣播接收者設(shè)置在廣播接收者隊列的隊頭,將已停止運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收者隊列的隊尾,確保系統(tǒng)前臺進程對應(yīng)的廣播接收者可及時接收待發(fā)送的廣播消息。
本實施例提供了一種廣播接收者隊列調(diào)整方法,通過遍歷待發(fā)送的廣播消息的廣播接收者對應(yīng)的進程,將和系統(tǒng)前臺進程一致的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的隊頭,形成新的廣播接收者隊列,確保了前臺進程對應(yīng)的廣播接收者可及時接收待發(fā)送的廣播消息,其中前臺進程大多為系統(tǒng)正在運行的需要實時處理消息的進程,如終端設(shè)備運行界面對應(yīng)的進程,該前臺進程在第一時間接收到廣播消息以對廣播消息進行處理可以顯著的提高系統(tǒng)的對廣播消息的響應(yīng)速度,解決了現(xiàn)有的廣播接收機制中系統(tǒng)當前的前臺進程無法第一時間接收廣播信息的問題,提高了廣播接收效率,降低了系統(tǒng)資源消耗,同時,由于前臺進程運行過程中對廣播消息依賴的實時性更強,如果等待時間較長則會導(dǎo)致其在一定時間內(nèi)出現(xiàn)無響應(yīng)的情況,通過本實施例方案使得系統(tǒng)穩(wěn)定性顯著增加。
圖3是本發(fā)明實施例提供的另一種廣播接收者隊列調(diào)整方法的流程圖,在上述實施例的基礎(chǔ)上,可選的,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端包括:按照預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序?qū)V播接收者隊列中廣播接收者的位置順序進行調(diào)整。
基于上述優(yōu)化,如圖3所示,本實施例提供的技術(shù)方案具體如下:
s301、獲取廣播發(fā)送隊列中待發(fā)送的廣播消息。
s302、確定和待發(fā)送的廣播消息對應(yīng)的廣播接收者。
s303、遍歷廣播接收者對應(yīng)的進程,按照預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序?qū)V播接收者隊列中廣播接收者的位置順序進行調(diào)整。
其中,預(yù)設(shè)的廣播接收列表可以是系統(tǒng)根據(jù)廣播接收者對應(yīng)的進程信息確定和/或廣播接收者接收廣播消息的歷史排列順序確定。當預(yù)設(shè)的廣播接收列表被確定后,可以在預(yù)設(shè)時間(如1天、3天或5天)對該預(yù)設(shè)列表進行更新,在對廣播接收隊列中廣播接收者順序進行調(diào)整時依據(jù)廣播接收列表中廣播接收者的順序進行適應(yīng)性調(diào)整。舉例而言,廣播接收列表中廣播接收者的排序由前至后依次為廣播接收者1、廣播接收者2、廣播接收者5、廣播接收者8、廣播接收者3,廣播接收者隊列中由前至后的排序為廣播接收者10、廣播接收者5、廣播接收者2等,則調(diào)整后的廣播接收者隊列中廣播接收者的排序為廣播接收者2、廣播接收者5、廣播接收者10。
在一個實施例中,預(yù)設(shè)的廣播接收列表在形成過程中,根據(jù)廣播接收者對應(yīng)的進程的遍歷結(jié)果,若廣播接收者對應(yīng)的進程中存在與系統(tǒng)當前的前臺進程相同的進程時,將預(yù)設(shè)的廣播接收列表中的系統(tǒng)當前的前臺進程對應(yīng)的廣播接收者調(diào)節(jié)至預(yù)設(shè)的廣播接收列表的第一位,并依次調(diào)整該預(yù)設(shè)的廣播接收列表。
在一個實施例中,預(yù)設(shè)的廣播接收列表在形成過程中,根據(jù)廣播接收者對應(yīng)的進程的遍歷結(jié)果,若廣播接收者對應(yīng)的進程的活躍度與預(yù)設(shè)的廣播接收列表廣播接收者排列順序存在差異時,根據(jù)當前遍歷結(jié)果中廣播接收者對應(yīng)的進程的活躍度調(diào)整預(yù)設(shè)的廣播接收列表廣播接收者排列順序,形成新的廣播接收列表。
在一個實施例中還包括對廣播接收列表中廣播接收者的順序進行調(diào)整,示例性的,依據(jù)廣播接收者對應(yīng)的進程的運行頻率、運行時長和資源占用率中至少一種對所述預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序進行調(diào)整,以使進程活躍度高的廣播接收者在所述預(yù)設(shè)的廣播接收列表中排序靠前。
其中,根據(jù)運行頻率、運行時長、資源占用率中一種或多種信息確定廣播接收者對應(yīng)的進程的活躍度,并根據(jù)廣播接收者對應(yīng)的進程的活躍度對預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序進行調(diào)整,示例性的,根據(jù)進程的活躍度對廣播接受者依次排序,將活躍度最高的進程對應(yīng)的廣播接收者設(shè)置在廣播接收列表的隊頭,將活躍度最低的進程對應(yīng)的廣播接收者設(shè)置在廣播接收列表的隊尾,使得活躍度最高的進程對應(yīng)的廣播接收者優(yōu)先接收待廣播消息,解決了現(xiàn)有的廣播接收機制中活躍應(yīng)用無法第一時間接收廣播消息的問題,提高了廣播接收效率。其中,在進程運行過程中對進程的運行頻率、運行時長、資源占用率進行統(tǒng)計、記錄,進程運行的頻率越大,進程的活躍度越高,進程的運行時長越長,進程的活躍度越高,進程的資源占用率越大,進程的活躍度越高。
在一個實施例中,記錄并存儲待發(fā)送的廣播消息對應(yīng)的廣播發(fā)送者與調(diào)整后的廣播接收列表的對應(yīng)關(guān)系,將調(diào)整后的廣播接收列表更新為預(yù)設(shè)的廣播接收列表,若檢測到待發(fā)送的廣播消息,則確定發(fā)送該廣播消息的廣播發(fā)送者,直接調(diào)用對應(yīng)的預(yù)設(shè)的廣播接收列表來確定廣播接收者接收廣播消息的順序,提高預(yù)設(shè)的廣播接收列表的實現(xiàn)廣播接收者排序的準確度,減少待發(fā)送的廣播消息對應(yīng)的廣播接收者隊列的調(diào)整次數(shù),避免了需要逐次遍歷對應(yīng)的廣播接收者進程調(diào)整廣播接收者隊列帶來的資源消耗,進一步提高廣播接收、處理效率。
本實施例提供了一種廣播接收者隊列調(diào)整方法,通過遍歷待發(fā)送的廣播消息的廣播接收者對應(yīng)的進程,按照預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序?qū)V播接收者隊列中廣播接收者的位置順序進行調(diào)整,解決了現(xiàn)有的廣播接收機制效率低下的問題,提高了廣播接收、處理效率,降低了系統(tǒng)的資源消耗。
圖4是本發(fā)明實施例提供的一種廣播接收者隊列調(diào)整裝置的結(jié)構(gòu)框圖,該裝置用于執(zhí)行上述實施例提供的廣播接收者隊列調(diào)整方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。如圖4所示,該裝置具體包括:獲取模塊401、接收者確定模塊402、進程遍歷模塊403和隊列調(diào)整模塊404。
其中,獲取模塊401,用于獲取廣播發(fā)送隊列中待發(fā)送的廣播消息;
接收者確定模塊402,用于確定和待發(fā)送的廣播消息對應(yīng)的廣播接收者;
進程遍歷模塊403,用于遍歷廣播接收者對應(yīng)的進程;
隊列調(diào)整模塊404,用于將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端。
本實施例提供的技術(shù)方案,通過獲取廣播發(fā)送隊列中待發(fā)送的廣播消息,確定和所述待發(fā)送的廣播消息對應(yīng)的廣播接收者,遍歷所述廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端,提高了廣播處理效率,降低了系統(tǒng)資源消耗,使得系統(tǒng)穩(wěn)定性增加。
可選的,隊列調(diào)整模塊404具體用于:
將系統(tǒng)當前正在運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的前端。
可選的,隊列調(diào)整模塊404具體用于:
將所述廣播接收者對應(yīng)的進程中和前臺進程一致的進程前臺進程一致的進程設(shè)置在廣播接收者隊列的隊頭。
可選的,隊列調(diào)整模塊404具體用于:
按照預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序?qū)V播接收者隊列中廣播接收者的位置順序進行調(diào)整。
可選的,該裝置還包括:
列表更新模塊405,用于依據(jù)廣播接收者對應(yīng)的進程的運行頻率、運行時長和資源占用率中至少一種對所述預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序進行調(diào)整,以使進程活躍度高的廣播接收者在所述預(yù)設(shè)的廣播接收列表中排序靠前。
本實施例在上述各實施例的基礎(chǔ)上提供了一種終端設(shè)備,該終端設(shè)備可以包括本發(fā)明提供的廣播接收者隊列調(diào)整裝置。圖5是本發(fā)明實施例提供的終端設(shè)備的結(jié)構(gòu)示意圖,如圖5所示,該終端設(shè)備可以包括:存儲器501、中央處理器(centralprocessingunit,cpu)502、外設(shè)接口503、rf(radiofrequency,射頻)電路505、音頻電路506、揚聲器511、電源管理芯片508、輸入/輸出(i/o)子系統(tǒng)509、觸摸屏512、其他輸入/控制設(shè)備510以及外部端口504,這些部件通過一個或多個通信總線或信號線507來通信。
應(yīng)該理解的是,圖示終端設(shè)備500僅僅是終端設(shè)備的一個范例,并且終端設(shè)備500可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個或更多的部件,或者可以具有不同的部件配置。圖中所示出的各種部件可以在包括一個或多個信號處理和/或?qū)S眉呻娐吩趦?nèi)的硬件、軟件、或硬件和軟件的組合中實現(xiàn)。
下面就本實施例提供的用于多開應(yīng)用的權(quán)限管理的終端設(shè)備進行詳細的描述,該終端設(shè)備以智能手機為例。
存儲器501,所述存儲器501可以被cpu502、外設(shè)接口503等訪問,所述存儲器501可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如一個或多個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
外設(shè)接口503,所述外設(shè)接口503可以將設(shè)備的輸入和輸出外設(shè)連接到cpu502和存儲器501。
i/o子系統(tǒng)509,所述i/o子系統(tǒng)509可以將設(shè)備上的輸入輸出外設(shè),例如觸摸屏512和其他輸入/控制設(shè)備510,連接到外設(shè)接口503。i/o子系統(tǒng)509可以包括顯示控制器5091和用于控制其他輸入/控制設(shè)備510的一個或多個輸入控制器5092。其中,一個或多個輸入控制器5092從其他輸入/控制設(shè)備510接收電信號或者向其他輸入/控制設(shè)備510發(fā)送電信號,其他輸入/控制設(shè)備510可以包括物理按鈕(按壓按鈕、搖臂按鈕等)、撥號盤、滑動開關(guān)、操縱桿、點擊滾輪。值得說明的是,輸入控制器5092可以與以下任一個連接:鍵盤、紅外端口、usb接口以及諸如鼠標的指示設(shè)備。
觸摸屏512,所述觸摸屏512是用戶終端與用戶之間的輸入接口和輸出接口,將可視輸出顯示給用戶,可視輸出可以包括圖形、文本、圖標、視頻等。
i/o子系統(tǒng)509中的顯示控制器5091從觸摸屏512接收電信號或者向觸摸屏512發(fā)送電信號。觸摸屏512檢測觸摸屏上的接觸,顯示控制器5091將檢測到的接觸轉(zhuǎn)換為與顯示在觸摸屏512上的用戶界面對象的交互,即實現(xiàn)人機交互,顯示在觸摸屏512上的用戶界面對象可以是運行游戲的圖標、聯(lián)網(wǎng)到相應(yīng)網(wǎng)絡(luò)的圖標等。值得說明的是,設(shè)備還可以包括光鼠,光鼠是不顯示可視輸出的觸摸敏感表面,或者是由觸摸屏形成的觸摸敏感表面的延伸。
rf電路505,主要用于建立手機與無線網(wǎng)絡(luò)(即網(wǎng)絡(luò)側(cè))的通信,實現(xiàn)手機與無線網(wǎng)絡(luò)的數(shù)據(jù)接收和發(fā)送。例如收發(fā)短信息、電子郵件等。具體地,rf電路505接收并發(fā)送rf信號,rf信號也稱為電磁信號,rf電路505將電信號轉(zhuǎn)換為電磁信號或?qū)㈦姶判盘栟D(zhuǎn)換為電信號,并且通過該電磁信號與通信網(wǎng)絡(luò)以及其他設(shè)備進行通信。rf電路505可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、rf收發(fā)機、一個或多個放大器、調(diào)諧器、一個或多個振蕩器、數(shù)字信號處理器、codec(coder-decoder,編譯碼器)芯片組、用戶標識模塊(subscriberidentitymodule,sim)等等。
音頻電路506,主要用于從外設(shè)接口503接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉(zhuǎn)換為電信號,并且將該電信號發(fā)送給揚聲器511。
揚聲器511,用于將手機通過rf電路505從無線網(wǎng)絡(luò)接收的語音信號,還原為聲音并向用戶播放該聲音。
電源管理芯片508,用于為cpu502、i/o子系統(tǒng)及外設(shè)接口所連接的硬件進行供電及電源管理。
本發(fā)明實施例提供的cpu502可執(zhí)行如下操作:
獲取廣播發(fā)送隊列中待發(fā)送的廣播消息;
確定和所述待發(fā)送的廣播消息對應(yīng)的廣播接收者;
遍歷所述廣播接收者對應(yīng)的進程,將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端。
可選的,所述將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端包括:將系統(tǒng)當前正在運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的前端。
可選的,所述將系統(tǒng)當前正在運行的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的前端包括:將和系統(tǒng)前臺進程一致的進程對應(yīng)的廣播接收者設(shè)置在廣播接收隊列的隊頭。
可選的,所述將進程活躍度滿足預(yù)設(shè)條件的廣播接收者設(shè)置在廣播接收隊列的前端包括:按照預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序?qū)V播接收者隊列中廣播接收者的位置順序進行調(diào)整。
可選的,還包括:依據(jù)廣播接收者對應(yīng)的進程的運行頻率、運行時長和資源占用率中至少一種對所述預(yù)設(shè)的廣播接收列表中廣播接收者的排列順序進行調(diào)整,以使進程活躍度高的廣播接收者在所述預(yù)設(shè)的廣播接收列表中排序靠前。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。