本發(fā)明涉及通信領域,尤其涉及一種進程管理方法、裝置及終端。
背景技術:
當前,隨著智能終端技術的日新月異,智能終端的功能越來越多。一些智能終端中,使用android(安卓)系統(tǒng)作為終端的操作系統(tǒng),我們將這些終端稱為android終端。例如,android手機、android平板電腦等等。
終端所具有的功能是由安裝在終端中的應用軟件來支撐的。例如,安裝了微信應用程序的android手機就具有了微信的通信功能。再比如,安裝了高德地圖的android手機就具有了導航功能。
隨著終端功能的增多,終端中安裝的應用程序也越來越多。android系統(tǒng)是多任務的操作系統(tǒng),android系統(tǒng)中,在后臺運行的應用程序的進程越多,對前臺的應用程序影響就越大,前臺應用程序的啟動速度就越慢。
為了提高應用程序的啟動速度,現(xiàn)有技術中,在應用程序啟動過程中,增加處理器的運行內核數(shù)和工作頻率,以達到減少應用程序啟動時間的目的。但是,這種方案由于增加了處理器的運行內核數(shù)和工作頻率會,導致終端的工作電流增大,終端的整機功耗增加。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題:
現(xiàn)有技術中,不能在不增加終端功耗的情況下提高應用程序的啟動速度。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了一種進程管理方法、裝置及終端,用以解決現(xiàn)有技術中不能在不增加終端功耗的情況下提高應用程序的啟動速度的問題。
第一方面,本發(fā)明實施例提供一種進程管理方法,應用于終端,所述方法包括:
響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度,包括:
響應于接收到啟動指定應用的指令,減少或停止對除系統(tǒng)應用進程和所述指定應用的進程以外的所有其他應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述方法還包括:
響應于所述指定應用啟動完成,恢復對所述指定后臺應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,響應于所述指定應用啟動完成,恢復對所述指定后臺應用進程的調度,包括:
響應于所述指定應用啟動完成,增加對所述指定后臺應用進程的調度次數(shù);
或者,響應于所述指定應用啟動完成,啟動對所述指定后臺應用進程的調度。
第二方面,本發(fā)明實施例提供一種進程管理裝置,設置于終端,所述裝置包括:
第一管理模塊,用于響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述第一管理模塊在用于響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度時,具體用于:
響應于接收到啟動指定應用的指令,減少或停止對除系統(tǒng)應用進程和所述指定應用的進程以外的所有其他應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
第二管理模塊,用于響應于所述指定應用啟動完成,恢復對所述指定后臺應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述第二管理模塊在用于響應于所述指定應用啟動完成,恢復對所述指定后臺應用進程的調度時,具體用于:
響應于所述指定應用啟動完成,增加對所述指定后臺應用進程的調度次數(shù);
或者,響應于所述指定應用啟動完成,啟動對所述指定后臺應用進程的調度。
第三方面,本發(fā)明實施例提供一種終端,包括:
處理器;
用于存儲所述處理器可執(zhí)行指令的存儲器;
所述處理器被配置為:
響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。
如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述終端為手機或平板電腦。
本發(fā)明實施例具有以下有益效果:
本發(fā)明實施例通過在應用啟動期間改變進程的調度策略,減少對后臺其他應用進程的調度,使得在應用啟動過程中后臺運行的進程數(shù)量減少,從而在處理器保持原有工作內核數(shù)和工作頻率的情況下,加快了應用的啟動速度,因此實現(xiàn)了在不增加終端功耗的情況下提高了應用程序的啟動速度。
【附圖說明】
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實施例提供的進程管理方法的流程示例圖。
圖2為本發(fā)明實施例提供的進程管理裝置的功能方塊圖。
圖3為本發(fā)明實施例所提供的終端的一種硬件結構示意圖。
【具體實施方式】
為了更好的理解本發(fā)明的技術方案,下面結合附圖對本發(fā)明實施例進行詳細描述。
應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明實施例中使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應當理解,本文中使用的術語“和/或”僅僅是一種描述關聯(lián)對象的關聯(lián)關系,表示可以存在三種關系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關聯(lián)對象是一種“或”的關系。
取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”或“響應于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當確定時”或“響應于確定”或“當檢測(陳述的條件或事件)時”或“響應于檢測(陳述的條件或事件)”。
在使用安卓操作系統(tǒng)的終端中,進程的調度策略是:系統(tǒng)進程(1、2、3、……n)→前臺應用進程→其他應用進程1→其他應用進程2→……其他應用進程m→系統(tǒng)進程(1、2、3、……n),其中,m和n都是自然數(shù)。
舉例說明。假設手機中的前臺應用為QQ應用,后臺應用有微信應用、支付寶應用、UC瀏覽器應用,那么手機中進程的調度過程是:先調度系統(tǒng)進程,再調度QQ應用進程,然后在調度微信應用進程、支付寶應用進程和UC瀏覽器應用進程。處理器在這些應用進程之間按順序進行切換。
基于此,發(fā)明人提出了通過修改進程的調度策略的方式來加快應用程序啟動速度的方案。在此方案基礎上,提供了如下的實施例。
實施例一
本發(fā)明實施例提供了一種進程管理方法,該進程管理方法可以應用于android手機、android平板電腦等終端。該進程管理方法可以通過應用程序實現(xiàn),該應用程序能夠安裝在手機、平板電腦等終端上。
圖1為本發(fā)明實施例提供的進程管理方法的流程示例圖。如圖1所示,本實施例中,進程管理方法可以包括如下步驟:
S101,響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。
其中,正在啟動中的指定應用為前臺應用。
仍然假設手機中的前臺應用為QQ應用,后臺應用有微信應用、支付寶應用、UC瀏覽器應用這3個應用進程,那么按照圖1所示實施例,手機中進程的調度過程可以是:系統(tǒng)進程→QQ應用進程→微信應用進程→支付寶應用進程→系統(tǒng)進程。即停止對UC瀏覽器應用進程的調度。這樣,在指定應用的啟動過程中,由于處理器調用的進程減少了,因此在同樣的工作內核和工作頻率下,處理器調用指定應用進程的頻率就高了,指定應用進程的調用頻率高,指定應用的啟動過程用時就會縮短,啟動速度就會加快。
按照圖1所示實施例,手機中進程的調度過程還可以是:系統(tǒng)進程→QQ應用進程→微信應用進程→UC瀏覽器應用進程→系統(tǒng)進程。即停止對支付寶應用進程的調度。
按照圖1所示實施例,手機中進程的調度過程還可以是:系統(tǒng)進程→QQ應用進程→QQ應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程。即停止對微信應用進程的調度。
按照圖1所示實施例,手機中進程的調度過程可以是:系統(tǒng)進程→QQ應用進程→微信應用進程→系統(tǒng)進程。即停止對支付寶應用進程和UC瀏覽器應用進程的調度。同理,也可以保持對支付寶應用進程的調度,而停止對微信應用進程和UC瀏覽器應用進程的調度,還可以保持對UC瀏覽器應用進程的調度,而停止對微信應用進程和支付寶應用進程的調度。
按照圖1所示實施例,手機中進程的調度過程還可以是:系統(tǒng)進程→QQ應用進程→微信應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程→QQ應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程→QQ應用進程→微信應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程→QQ應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程。即減少對微信應用進程的調度次數(shù)。同理,也可以減少對支付寶應用進程和/或UC瀏覽器應用進程的調度次數(shù)。需要說明的是,在本示例中,每調度兩次系統(tǒng)進程才調度一次微信應用進程,在其他示例中,可以每調度三次、四次或五次系統(tǒng)進程才調度一次微信應用進程,本發(fā)明實施例對此不進行限制。
在一個具體的實現(xiàn)過程中,響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度,可以包括:響應于接收到啟動指定應用的指令,減少或停止對除系統(tǒng)應用進程和指定應用的進程以外的所有其他應用進程的調度。
舉例說明。
仍然假設手機中的前臺應用為QQ應用,后臺應用有微信應用、支付寶應用、UC瀏覽器應用這3個應用進程,手機中進程的調度過程可以是:系統(tǒng)進程→QQ應用進程→系統(tǒng)進程。即停止對微信應用進程、支付寶應用進程和UC瀏覽器應用進程的調度,只保留對系統(tǒng)進程和前臺的QQ應用進程的調度。
手機中進程的調度過程可以是:系統(tǒng)進程→QQ應用進程→微信應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程→QQ應用進程→系統(tǒng)進程→微信應用進程→支付寶應用進程→UC瀏覽器應用進程→系統(tǒng)進程→QQ應用進程→系統(tǒng)進程。即減少對微信應用進程、支付寶應用進程和UC瀏覽器應用進程的調度次數(shù),每調度兩次系統(tǒng)進程才調度一次微信應用進程、支付寶應用進程和UC瀏覽器應用進程。
在一個具體的實現(xiàn)過程中,所述方法還可以包括:響應于指定應用啟動完成,恢復對指定后臺應用進程的調度。也就是說,當指定應用啟動完成后,將調度策略恢復為指定應用啟動開始前的調度策略。因為此時,指定應用的啟動過程已經(jīng)完成,后臺的其他應用不會再對指定應用的啟動過程造成影響了。
在一個具體的實現(xiàn)過程中,響應于指定應用啟動完成,恢復對指定后臺應用進程的調度,可以包括:響應于指定應用啟動完成,增加對指定后臺應用進程的調度次數(shù);或者,響應于指定應用啟動完成,啟動對指定后臺應用進程的調度。
也就是說,如果進程調度策略的改變是減少了指定后臺應用進程的調度,那么在恢復對指定后臺應用進程的調度時,就可以采取增加對指定后臺應用進程的調度次數(shù)的策略。如果進程調度策略的改變是停止了指定后臺應用進程的調度,那么在恢復對指定后臺應用進程的調度時,就可以采取啟動對指定后臺應用進程的調度的方式。
通過本發(fā)明實施例提供的進程管理方法流程對啟動的應用進行加速,不要改變要啟動的應用的流程,工作量小,而且對于無法獲知源代碼的應用也同樣適用。另外,本發(fā)明實施例提供的進程管理方法流程,不需要增加終端中處理器的工作內核數(shù)目,也不需要提高處理器的工作頻率,因此不會增加終端的功耗。
本發(fā)明實施例提供的進程管理方法,通過在應用啟動期間改變進程調度策略,減少對后臺其他應用進程的調度,使得在應用啟動過程中后臺運行的進程數(shù)量減少,從而在處理器保持原有工作內核數(shù)和工作頻率的情況下,加快了應用的啟動速度,因此實現(xiàn)了在不增加終端功耗的情況下提高了應用程序的啟動速度。
實施例二
本發(fā)明實施例提供了一種進程管理裝置,該進程管理裝置能夠實現(xiàn)前述實施例一中進程管理方法的各步驟。
圖2為本發(fā)明實施例提供的進程管理裝置的功能方塊圖。如圖2所示,本實施例中,進程管理裝置可以設置于終端,該裝置包括:
第一管理模塊210,用于響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。
在一個具體的實現(xiàn)過程中,第一管理模塊210在用于響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度時,可以具體用于:響應于接收到啟動指定應用的指令,減少或停止對除系統(tǒng)應用進程和指定應用的進程以外的所有其他應用進程的調度。
在一個具體的實現(xiàn)過程中,進程管理裝置還可以包括:第二管理模塊,用于響應于指定應用啟動完成,恢復對指定后臺應用進程的調度。
在一個具體的實現(xiàn)過程中,第二管理模塊在用于響應于所述指定應用啟動完成,恢復對指定后臺應用進程的調度時,可以具體用于:響應于指定應用啟動完成,增加對指定后臺應用進程的調度次數(shù);或者,響應于指定應用啟動完成,啟動對指定后臺應用進程的調度。
由于本實施例中的進程管理裝置能夠執(zhí)行前述實施例一中的進程管理方法,本實施例未詳細描述的部分,可參考對前述實施例一中進程管理方法的相關說明。
本發(fā)明實施例提供的進程管理裝置,通過在應用啟動期間改變進程調度策略,減少對后臺其他應用進程的調度,使得在應用啟動過程中后臺運行的進程數(shù)量減少,從而在處理器保持原有工作內核數(shù)和工作頻率的情況下,加快了應用的啟動速度,因此實現(xiàn)了在不增加終端功耗的情況下提高了應用程序的啟動速度。
實施例三
本實施例提供了一種終端,該終端包括處理器和用于存儲該處理器可執(zhí)行指令的存儲器;其中,處理器被配置為:響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。
其中,終端可以為手機或平板電腦。當然,手機或平板電腦僅為終端的可能形式,本實施例并不對終端采用的具體形式進行限制。
請參見圖3,其為本發(fā)明實施例所提供的終端的一種硬件結構示意圖。
如圖3所示,終端可以包括以下一個或多個組件:處理組件302,存儲器304,電源組件306,多媒體組件308,音頻組件310,輸入/輸出(I/O)的接口312,傳感器組件314,以及通信組件316。
處理組件302通??刂平K端的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關聯(lián)的操作。處理組件302可以包括一個或多個處理器320來執(zhí)行指令,以完成前述實施例一中的進程管理方法的全部或部分步驟,具體包括:響應于接收到啟動指定應用的指令,減少或停止對指定后臺應用進程的調度。此外,處理組件302可以包括一個或多個模塊,便于處理組件302和其他組件之間的交互。例如,處理組件302可以包括多媒體模塊,以方便多媒體組件308和處理組件302之間的交互。
存儲器304被配置為存儲各種類型的數(shù)據(jù)以支持在終端的操作。這些數(shù)據(jù)的示例包括用于在終端上操作的任何應用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器304可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電源組件306為終端的各種組件提供電力。電源組件306可以包括電源管理系統(tǒng),一個或多個電源,及其他與為終端生成、管理和分配電力相關聯(lián)的組件。
多媒體組件308包括在所述終端和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續(xù)時間和壓力。在一些實施例中,多媒體組件308包括一個前置攝像頭和/或后置攝像頭。當終端處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。
音頻組件310被配置為輸出和/或輸入音頻信號。例如,音頻組件310包括一個麥克風(MIC),當終端處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器304或經(jīng)由通信組件316發(fā)送。在一些實施例中,音頻組件310還包括一個揚聲器,用于輸出音頻信號。
I/O接口312為處理組件302和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件314包括一個或多個傳感器,用于為終端提供各個方面的狀態(tài)評估。例如,傳感器組件314可以檢測到終端的打開/關閉狀態(tài),組件的相對定位,例如所述組件為終端的顯示器和小鍵盤,傳感器組件314還可以檢測終端或終端一個組件的位置改變,用戶與終端接觸的存在或不存在,終端方位或加速/減速和終端的溫度變化。傳感器組件314可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件314還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件314還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件316被配置為便于終端和其他設備之間有線或無線方式的通信。終端可以接入基于通信標準的無線網(wǎng)絡,如WiFi、2G、3G或4G或它們的組合。在一個示例性實施例中,通信組件316經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關信息。在一個示例性實施例中,所述通信組件316還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術,紅外數(shù)據(jù)協(xié)會(IrDA)技術,超寬帶(UWB)技術,藍牙(BT)技術和其他技術來實現(xiàn)。
在示例性實施例中,終端可以被一個或多個應用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如,多個模塊或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟件功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務器,或者網(wǎng)絡裝置等)或處理器(Processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。