終端設備及其啟動控制方法
2023-07-09 12:05:41 4
終端設備及其啟動控制方法
【專利摘要】啟動控制方法以及終端設備,所述啟動控制方法應用於終端設備,所述啟動控制方法包括:在作業系統的系統服務進程啟動之前,啟動開機動畫進程並顯示開機動畫;在系統服務進程執行期間,通過系統服務進程初始化鎖屏進程;在系統服務進程完成鎖屏進程的初始化之後,所述系統服務進程啟動桌面進程;在所述桌面進程執行啟動桌面所需的處理期間,所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面,同時所述桌面進程繼續執行啟動桌面所需的剩餘處理。
【專利說明】終端設備及其啟動控制方法
【技術領域】
[0001]本發明涉及一種終端設備及其啟動控制方法。
【背景技術】
[0002]當前,越來越多的用戶正在使用諸如智慧型手機或平板電腦之類的終端設備。在終端設備的使用中,上述終端設備的開機速度是影響用戶體驗的重要因素。例如,在安裝了Android作業系統的終端設備中,終端設備的用戶更啟動終端設備所需的時間一般30為秒以上。此外,在終端設備中安裝了大量應用程式之後,終端設備的啟動時間將會更長。在終端設備的啟動過程中,終端設備通常除了開機動畫外,不能給用戶任何有用的提示,並且用戶不能對終端設備進行操作,因此終端設備的用戶可能會變得很煩躁。另外,由於終端設備的用戶很容易將終端設備的性能與終端設備的開機速度聯繫起來,因此優化終端設備的開機速度對於提高用戶體驗至關重要。
【發明內容】
[0003]為了解決現有技術中的上述技術問題,根據本發明的一方面,提供一種啟動控制方法,應用於終端設備,所述啟動控制方法包括:在作業系統的系統服務進程啟動之前,啟動開機動畫進程並顯示開機動畫;在系統服務進程執行期間,通過系統服務進程初始化鎖屏進程;在系統服務進程完成鎖屏進程的初始化之後,所述系統服務進程啟動桌面進程;在所述桌面進程執行啟動桌面所需的處理期間,所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面,同時所述桌面進程繼續執行啟動桌面所需的剩餘處理。
[0004]此外,根據本發明的一個實施例,其中所述方法進一步包括:在系統服務進程完成鎖屏進程的初始化之後,所述系統服務進程啟動壁紙管理進程;在壁紙管理進程完成壁紙的加載之後,所述壁紙管理進程向所述系統服務進程發送壁紙加載完成的消息;在所述系統服務進程獲得壁紙加載完成的消息之後,所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面。
[0005]此外,根據本發明的一個實施例,其中在系統服務進程執行期間,通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描;如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
[0006]此外,根據本發明的一個實施例,其中所述終端設備的處理單元至少包括兩個處理核心,所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件的步驟進一步包括:在所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述數據包管理進程建立至少兩個掃描進程來通過所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
[0007]此外,根據本發明的一個實施例,其中所述方法進一步包括:在所述終端設備開始啟動時,啟動作業系統加載程序;所述作業系統加載程序啟動作業系統內核程序;在所述作業系統內核程序啟動完成之後,啟動作業系統虛擬機;所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述作業系統虛擬機並行啟動所述系統服務進程。
[0008]此外,根據本發明的一個實施例,其中所述終端設備的處理單元包括至少兩個處理核心,所述作業系統虛擬機並行啟動所述系統服務進程的步驟進一步包括:通過所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
[0009]此外,根據本發明的另一方面,提供一種啟動控制方法,應用於終端設備,所述終端設備的處理單元至少包括兩個處理核心,所述方法包括:在所述終端設備開始啟動時,啟動作業系統加載程序;所述作業系統加載程序啟動作業系統內核程序;在所述作業系統內核程序啟動完成之後,啟動作業系統虛擬機;所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述作業系統虛擬機並行啟動所述系統服務進程,其中通過所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
[0010]此外,根據本發明的一個實施例,其中所述方法進一步包括:在系統服務進程執行期間,通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描;如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
[0011]此外,根據本發明的一個實施例,其中在所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述數據包管理進程建立至少兩個掃描進程來通過所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
[0012]根據本發明的另一方面,提供一種終端設備,包括:顯示單元,配置來顯示畫面;處理單元,配置來在所述終端設備的啟動過程期間,在作業系統的系統服務進程啟動之前,啟動開機動畫進程並通過所述顯示單元顯示開機動畫;在系統服務進程執行期間,通過系統服務進程初始化鎖屏進程;在系統服務進程完成鎖屏進程的初始化之後,通過所述系統服務進程啟動桌面進程;在所述桌面進程執行啟動桌面所需的處理期間,通過所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面,同時通過所述桌面進程繼續執行啟動桌面所需的剩餘處理。
[0013]此外,根據本發明的一個實施例,其中在系統服務進程完成鎖屏進程的初始化之後,所述處理單元通過所述系統服務進程啟動壁紙管理進程;以及在壁紙管理進程完成壁紙的加載之後,所述處理單元通過所述壁紙管理進程向所述系統服務進程發送壁紙加載完成的消息;在所述系統服務進程獲得壁紙加載完成的消息之後,所述處理單元通過所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面。
[0014]此外,根據本發明的一個實施例,其中在系統服務進程執行期間,所述處理單元通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描;如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述處理單元通過所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。[0015]此外,根據本發明的一個實施例,其中所述終端設備的處理單元至少包括兩個處理核心;以及在僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述處理單元通過所述數據包管理進程建立至少兩個掃描進程,使得所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
[0016]此外,根據本發明的一個實施例,其中在所述終端設備開始啟動時,所述處理單元啟動作業系統加載程序;所述處理單元通過所述作業系統加載程序啟動作業系統內核程序;在所述作業系統內核程序啟動完成之後,所述處理單元啟動作業系統虛擬機;所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述處理單元通過所述作業系統虛擬機並行啟動所述系統服務進程。
[0017]此外,根據本發明的一個實施例,其中所述處理單元包括至少兩個處理核心:以及所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
[0018]根據本發明的另一方面,提供一種終端設備,包括:處理單元,包括至少兩個處理核心,並且配置來執行所述終端設備的啟動控制,其中在所述終端設備開始啟動時,所述處理單元啟動作業系統加載程序;所述處理單元通過所述作業系統加載程序啟動作業系統內核程序;在所述作業系統內核程序啟動完成之後,所述處理單元啟動作業系統虛擬機;所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述處理單元通過所述作業系統虛擬機並行啟動所述系統服務進程,其中通過所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
[0019]此外,根據本發明的一個實施例,其中在系統服務進程執行期間,所述處理單元通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描;如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述處理單元通過所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
[0020]此外,根據本發明的一個實施例,其中在所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述處理單元通過所述數據包管理進程建立至少兩個掃描進程,使得通過所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
[0021]通過上述方式,通過改變終端設備的啟動過程中的部分進程的執行順序或將進程的串行執行改變為並行執行或省略掉不必要的掃描,可以有效地縮短終端設備的啟動時間,由此可以大大提高用戶的使用體驗。
【專利附圖】
【附圖說明】
[0022]圖1是圖解根據本發明一個實施例的終端設備的示意圖;
[0023]圖2是圖解根據本發明另一個實施例的終端設備的示意圖;
[0024]圖3是圖解根據本發明一個實施例的啟動控制方法的流程圖;以及
[0025]圖4是圖解根據本發明另一個實施例的啟動控制方法的流程圖【具體實施方式】
[0026]將參照附圖詳細描述根據本發明的各個實施例。這裡,需要注意的是,在附圖中,將相同的附圖標記賦予基本上具有相同或類似結構和功能的組成部分,並且將省略關於它們的重複描述。
[0027]下面將參照圖1描述根據本發明實施例的終端設備。這裡,根據本發明實施例的終端設備可以是諸如安裝了 Android作業系統的智慧型手機或平板電腦之類的終端設備。
[0028]如圖1所示,根據本發明實施例的終端設備I可以包括顯示單元10以及處理單元11。
[0029]顯示單元10可以由任意的液晶顯示屏幕或OLED顯示屏幕實現,並且可以基於所提供的圖像信號顯示畫面。
[0030]處理單元11可以由任意的處理器或微處理器實現,並且可以在特定的軟體或應用的控制下執行預設的處理。
[0031]根據本發明的實施例,可以配置終端設備I的作業系統中的程序代碼,使得處理單元11可以執行根據本發明實施例的啟動控制方法。下面,以Android作業系統為例進行描述。
[0032]對於具有Android作業系統的終端設備來說,通常,在用戶按下終端設備I的開機鍵(未示出)之後,終端設備開始啟動。通常,終端設備I的處理單元11首先運行作業系統加載程序(Bootloader)。然後,處理單元11在加載完作業系統加載程序之後,通過作業系統加載程序啟動作業系統內核程序(Kernel),該作業系統內核程序為終端設備的作業系統的基礎。然後,處理單元11在該作業系統內核程序啟動完成之後,處理單元11啟動作業系統虛擬機(Android zygote虛擬機),這裡,作業系統虛擬機用於加載作業系統所需的各種進程以及資源。例如,作業系統虛擬機可以用於加載終端設備的作業系統運行所需的類文件(class)和各種資源以及系統服務進程(SystemSever進程)。這裡,系統服務進程可以提供作業系統提供所有的核心服務。
[0033]在現有技術中,在系統服務進程啟動之後,系統服務進程初始化鎖屏進程,然後系統服務進程啟動桌面進程(Launcher)以及壁紙管理進程(WalIpaperManagerService)。這裡,桌面進程主要用於通過顯示單元10顯示終端設備的用戶桌面,加載桌面上的圖標以及小程序(widget)。在這種情況下,如果終端設備的用戶桌面上內容較多(可能還會包括幾個擴展屏,供用戶左右拖動切換)。桌面進程的啟動速度將會隨著終端設備的桌面上加載內容的增加而延長。壁紙管理進程用於通過顯示單元10顯示終端設備的壁紙(背景)。此外,鎖屏進程為用於顯示透明背景的應用,其背景為壁紙管理進程所顯示的背景圖。因此,在壁紙管理進程加載完壁紙之後,鎖屏進程就可以顯示鎖屏畫面。然而,在現有技術中,當桌面進程處理完啟動桌面所需的所有處理(例如初始化擴展屏、加載圖標、加載widget)之後,桌面進程會進入到空閒狀態。在這種情況下,系統服務進程檢測到桌面進程進入到空閒狀態後,桌面進程會停止開機動畫的顯示,並且通知鎖屏進程通過顯示單元10顯示鎖屏畫面。
[0034]然而,隨著用戶在終端設備中安裝的應用越來越多,桌面進程執行處理的時間會隨之延長,由此會延長終端設備的開機速度。
[0035]在在這種情況下,根據本發明的實施例,配置終端設備I的作業系統,使得在終端設備的啟動過程期間對上述進程的執行順序進行優化以提高終端設備I的開機速度。
[0036]根據本發明的一個實施例,在作業系統的系統服務進程啟動之前,處理單元11首先啟動開機動畫進程並通過顯示單元10顯示開機動畫。這裡,可以在終端設備11運行作業系統加載程序(Bootloader)時啟動該開機動畫進程。然後,在系統服務進程執行期間,處理單元11通過系統服務進程初始化鎖屏進程。然後,在處理單元11通過系統服務進程完成鎖屏進程的初始化之後,處理單元11通過系統服務進程啟動桌面進程。這裡,與現有技術不同,在桌面進程執行啟動桌面所需的處理期間,處理單元11通過系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面。此時,處理單元11通過桌面進程繼續執行啟動桌面所需的剩餘處理。
[0037]具體地,在系統服務進程完成鎖屏進程的初始化之後,處理單元11還通過系統服務進程啟動壁紙管理進程來加載終端設備I的壁紙。在壁紙管理進程完成壁紙的加載之後,處理單元11通過壁紙管理進程向系統服務進程發送壁紙加載完成的消息。這裡,如上所述,由於鎖屏進程用於通過顯示單元10顯示透明背景,而鎖屏進程的背景為壁紙管理進程所顯示的背景圖。因此,在壁紙管理進程加載完壁紙之後,鎖屏進程就可以顯示鎖屏畫面。在這種情況下,在系統服務進程獲得了壁紙加載完成的消息之後,處理單元11通過系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面。此時,由於桌面進程所執行的啟動桌面所需的全部處理的時間要遠遠大於壁紙管理進程加載壁紙的時間,因此在處理單元11通過系統服務進程通知鎖屏進程顯示鎖屏畫面,並且鎖屏進程通過顯示單元10顯示鎖屏畫面時,桌面進程尚未完成啟動桌面所需的全部處理。在這種情況下,處理單元11通過桌面進程繼續執行啟動桌面所需的剩餘處理。
[0038]這裡,在終端設備I的用戶看到鎖屏畫面直到終端設備I的用戶進行解鎖操作通常至少需要數秒鐘的時間,因此在該段時間內,處理單元11通過桌面進程繼續執行啟動桌面所需的剩餘處理以完成終端設備I的桌面的加載。在這種情況下,由於先顯示鎖屏畫面,因此用戶會感覺到終端設備I的開機速度加快。經測試,通過上述配置,可以將具有相同配置的終端設備I的開機速度提高至少2秒。
[0039]此外,還可以通過其它方式加快終端設備I的開機速度。在現有技術中,在終端設備I開機時的系統服務進程執行期間,系統服務進程中的數據包管理進程(PackageManagerService)會串行掃描終端設備I中所有的應用安裝文件(Apk文件)。在數據包管理進程掃描所有的應用安裝文件(Apk文件)時,數據包管理進程會首先讀取應用安裝文件(Apk)中應用程式配置文件(即,AndroidManifest.xml),並且根據程序配置文件解析應用的數據包名、圖標,權限,應用所包含事件、服務等等,以供作業系統的後續使用。然後,數據包管理進程會讀取應用安裝文件中的classes, dex文件,並且將其優化並生成設備I的啟動時間減少10秒。
[0040]此外,在終端設備I的處理單元11為雙核處理器的情況下,處理單元11包括兩個處理核心。在這種情況下,在僅讀取並解析應用程式安裝包中應用程式配置文件時,還可以配置數據包管理進程,使得通過數據包管理進程建立兩個掃描進程,並且向該兩個處理核心分別分配一個掃描進程,使得處理單元11的兩個處理核心可以並行讀取並解析應用程式安裝包中應用程式配置文件以提高終端設備I的啟動速度。此外,還可以通過數據包管理進程建立至少兩個的掃描進程(如,8個),使得向該兩個處理核心分別分配至少一個掃描進程來讀取並解析應用程式安裝包中應用程式配置文件。另外,在終端設備11為四核處理器的情況下,還可以通過數據包管理進程建立四個掃描進程,使得處理單元11的四個處理核心分別分配一個掃描進程來並行讀取並解析應用程式安裝包中應用程式配置文件。
[0041]此外,還可以通過其它方式加快終端設備I的開機速度。在現有技術中,在終端設備開始啟動之後,終端設備I的處理單元11首先運行作業系統加載程序(Bootloader)。然後,處理單元11在加載完作業系統加載程序之後,通過作業系統加載程序啟動作業系統內核程序(Kernel)。然後,處理單元11在該作業系統內核程序啟動完成之後,處理單元11啟動作業系統虛擬機(Android zygote虛擬機)。這裡,作業系統虛擬機可以用於加載終端設備的作業系統運行所需的類文件(class)和各種資源以及系統服務進程(SystemSever進程)。在現有技術中,作業系統虛擬機首先加載終端設備的作業系統運行所需的類文件和各種資源(即,虛擬機中的preload進程處理)。在完成類文件和各種資源的加載之後,作業系統虛擬機才開始啟動系統服務進程,此時系統服務進程才能夠運行其所包含的各種進程。這裡,由於在完成類文件和各種資源的加載之後,作業系統虛擬機才開始啟動系統服務進程,因此加載資源以及啟動系統服務進程的串行處理會導致終端設備I的開機速度變慢。
[0042]針對上述情況,根據本發明的一個實施例,在終端設備開始啟動時,處理單元11首先啟動作業系統加載程序。然後,處理單元11通過作業系統加載程序啟動作業系統內核程序。然後,在作業系統內核程序啟動完成之後,處理單元11啟動作業系統虛擬機。此時,與現有技術不同,在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元11通過作業系統虛擬對應的Odex包,並將所產生的Odex包放在終端設備I的緩存中(如,/data/dalvik-cache)以供作業系統中的特定服務或應用執行。此外,數據包管理進程還會讀取應用安裝文件中的庫文件(如,Iib庫),並且將庫文件放置到終端設備的另一個緩存中(如,/data/data/{Pacakge Name} /lib)?這裡,數據包管理進程從應用安裝文件產生odex包和讀取lib庫所佔用的時間較長,而對於預裝在終端設備中的應用安裝文件來說,在終端設備的第一次啟動掃描對應的應用安裝文件時就已經完成,之後也不會對所產生並存儲在緩存中的odex包和讀取並存儲在另一緩存中的Iib庫做任何修改。此外,對於用戶使用終端設備I安裝的應用來說,在應用的安裝過程中,就已經完成了上述步驟並將odex包和Iib庫存儲在對應的緩存中。因此,只要數據包管理進程成功掃描過所有應用安裝文件,終端設備隨後的啟動過程中,並不需`要產生並存儲odex包以及讀取並存儲Iib庫的處理。
[0043]因此,根據本發明的一個實施例,在系統服務進程執行期間,處理單元11通過系統服務進程中的數據包管理進程判斷之前是否進行過終端設備中存儲的應用程式安裝文件的掃描。這裡,例如,如果處理單元11確定已經掃描過(如,終端設備第一次啟動或安裝應用時)終端設備I中存儲的所有應用程式安裝文件,則處理單元11可以在終端設備I中存儲表示已經進行過掃描的標識。在這種情況下,如果處理單元11通過數據包管理進程檢測到該標識,則處理單元11通過數據包管理進程判斷已經進行過終端設備I中所有應用程式安裝文件的掃描。
[0044]如果處理單元11通過數據包管理進程判斷之前已經進行過應用程式安裝包的掃描,則處理單元11通過數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件。也就是說,處理單元11通過數據包管理進程僅讀取並解析應用程式安裝包中的AndroidManifest.xml文件,並且不進行產生並存儲odex包以及讀取並存儲Iib庫的處理。此外,在處理單元11通過數據包管理進程判斷還未進行過應用程式安裝包的掃描,則處理單元11通過數據包管理進程執行與之前的現有技術描述中的處理相同處理。
[0045]通過上述方式,由於在終端設備I啟動期間省略了數據包管理進程對所有的應用安裝文件執行產生並存儲odex包以及讀取並存儲Iib庫的處理,因此可以大大減少終端設備I的啟動時間。特別是在應用數量很大的情況下,終端設備I的開機速度明顯加快。經測試,至少可以將具有相同配置的終端機並行啟動系統服務進程。這裡,具體地,處理單元11可以是雙核處理器,並且可以包括兩個處理核心。在這種情況下,可以配置作業系統虛擬機中的系統服務進程以及加載類文件和各種資源的進程(preload進程)的執行順序使得二者可以並行執行。例如,可以將系統服務進程的啟動順序放置在加載類文件和各種資源的進程之前,使得在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元11通過作業系統虛擬機並行啟動系統服務進程並且系統服務進程執行對應的處理。這裡,由於處理單元11具有兩個處理核心,因此在並行建立系統服務進程以及加載類文件和各種資源的進程時,處理單元11的兩個處理核心之一被分配了系統服務進程,而另一個處理核心被分配了加載類文件和各種資源的進程。因此,處理單元11的一個處理核心執行作業系統虛擬機加載所需的類文件以及資源的處理,而另一個處理核心執行啟動系統服務進程的處理。在這種情況下,系統服務進程以及加載類文件和各種資源的進程的並行處理可以大大提高終端設備I的啟動速度。經測試,系統服務進程以及加載類文件和各種資源的進程的並行處理可以至少將具有相同配置的終端設備I的啟動時間減少2秒。
[0046]下面,將參照圖2描述根據本發明另一實施例的終端設備。
[0047]如圖2所示,根據本發明實施例的終端設備2可以包括處理單元20。這裡,處理單元20可以為任意的雙核處理器,並且包括兩個處理核心200和201。處理核心200以及201均可以在特定的軟體或應用的控制下執行預設的處理。這裡,可以配置終端設備2的作業系統中的程序代碼,使得處理單元20可以執行根據本發明實施例的啟動控制方法。下面,以Android作業系統為例進行描述。
[0048]與針對圖1的描述類似,在現有技術中,在終端設備開始啟動之後,首先運彳Ti呆作系統加載程序。然後,在加載完作業系統加載程序之後,通過作業系統加載程序啟動作業系統內核程序。然後,在該作業系統內核程序啟動完成之後,啟動作業系統虛擬機。這裡,在現有技術中,作業系統虛擬機首先加載終端設備的作業系統運行所需的類文件和各種資源(即,虛擬機中的preload進程處理)。在完成類文件和各種資源的加載之後,作業系統虛擬機才開始啟動系統服務進程。這裡,加載資源以及啟動系統服務進程的串行處理會導致終端設備的開機速度變慢。
[0049]針對上述情況,根據本發明的一個實施例,在終端設備2開始啟動時,處理單元20首先啟動作業系統加載程序。然後,處理單元20通過作業系統加載程序啟動作業系統內核程序。然後,在作業系統內核程序啟動完成之後,處理單元20啟動作業系統虛擬機。此時,與現有技術不同,在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元20通過作業系統虛擬機並行啟動系統服務進程。這裡,處理單元20是雙核處理器,並且包括兩個處理核心200以及201,因此,可以配置作業系統虛擬機中的系統服務進程以及加載類文件和各種資源的進程(preload進程)的執行順序使得二者可以並行執行。例如,可以將系統服務進程的啟動順序放置在加載類文件和各種資源的進程之前,使得在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元20通過作業系統虛擬機並行啟動系統服務進程並且系統服務進程執行對應的處理。具體地,由於處理單元20具有兩個處理核心200以及201,因此在並行建立系統服務進程以及加載類文件和各種資源的進程時,處理單元20的兩個處理核心200和201中的一個處理核心被分配了系統服務進程,而另一個處理核心被分配了加載類文件和各種資源的進程。因此,處理單元20的一個處理核心執行作業系統虛擬機加載所需的類文件以及資源的處理,而另一個處理核心執行啟動系統服務進程的處理。在這種情況下,系統服務進程以及加載類文件和各種資源的進程的並行處理可以大大提高終端設備I的啟動速度。經測試,系統服務進程以及加載類文件和各種資源的進程的並行處理可以至少將具有相同配置的終端設備2的啟動時間減少2秒。
[0050]此外,還可以通過其它方式加快終端設備I的開機速度。例如,在現有技術中,在終端設備I開機時的系統服務進程執行處理期間,系統服務進程中的數據包管理進程(PackageManagerService)會串行掃描終端設備I中所有的應用安裝文件(Apk文件)。在數據包管理進程掃描所有的應用安裝文件(Apk文件)時,數據包管理進程會首先讀取應用安裝文件(Apk)中應用程式配置文件(即,AndroidManifest.xml),並且根據程序配置文件解析應用的數據包名、圖標,權限,應用所包含事件、服務等等,以供作業系統的後續使用。然後,數據包管理進程會讀取應用安裝文件中的classes, dex文件,並且將其優化並生成對應的odex包,並將所產生的odex包放在終端設備I的緩存中(如,/data/dalvik-cache)以供作業系統中的特定服務或應用執行。此外,數據包管理進程還會讀取應用安裝文件中的庫文件(如,Iib庫),並且將庫文件放置到終端設備的另一個緩存中(如,/data/data/{Pacakge Name}/lib)。這裡,對於預裝在終端設備中的應用安裝文件來說,在終端設備的第一次啟動掃描對應的應用安裝文件時就已經完成產生並存儲odex包和讀取並存儲Iib庫的處理,之後也不會對存儲在緩存中的odex包和存儲在另一緩存中的Iib庫做任何修改。此外,對於用戶使用終端設備I安裝的應用來說,在應用的安裝過程中,就已經完成了上述步驟並將odex包和Iib庫存儲在對應的緩存中。因此,只要數據包管理進程成功掃描過所有應用安裝文件,終端設備隨後的啟動過程中,並不需要產生並存儲odex包以及讀取並存儲Iib庫的處理。
[0051]因此,根據本發明的一個實施例,在系統服務進程執行期間,處理單元20通過系統服務進程中的數據包管理進程判斷之前是否進行過終端設備中存儲的應用程式安裝文件的掃描。這裡,例如,如果處理單元20確定已經掃描過(如,終端設備第一次啟動或安裝應用時)終端設備2中存儲的所有應用程式安裝文件,則處理單元20可以在終端設備2中存儲表示已經進行過掃描的標識。在這種情況下,如果處理單元20通過數據包管理進程檢測到該標識,則處理單元20通過數據包管理進程判斷已經進行過終端設備2中所有應用程式安裝文件的掃描。
[0052]如果處理單元20通過數據包管理進程判斷之前已經進行過應用程式安裝包的掃描,則處理單元20通過數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件。也就是說,處理單元20通過數據包管理進程僅讀取並解析應用程式安裝包中的AndroidManifest.xml文件,並且不進行產生並存儲odex包以及讀取並存儲Iib庫的處理。此外,在處理單元20通過數據包管理進程判斷還未進行過應用程式安裝包的掃描,則處理單元20通過數據包管理進程執行與之前的現有技術描述中的處理相同處理。通過上述方式,由於在終端設備2啟動期間省略了數據包管理進程對所有的應用安裝文件執行產生並存儲odex包以及讀取並存儲Iib庫的處理,因此可以大大減少終端設備2的啟動時間。特別是在應用數量很大的情況下,終端設備2的開機速度明顯加快。經測試,至少可以將具有相同配置的終端設備2的啟動時間減少10秒。
[0053]此外,由於終端設備2的處理單元20為雙核處理器並包括兩個處理核心200和201,因此在僅讀取並解析應用程式安裝包中應用程式配置文件時,還可以配置數據包管理進程,使得通過數據包管理進程建立兩個掃描進程,並且向該兩個處理核心200和201分別分配一個掃描進程,使得處理單元20的兩個處理核心200和201可以並行讀取並解析應用程式安裝包中應用程式配置文件以提高終端設備2的啟動速度。此外,還可以通過數據包管理進程建立至少兩個的掃描進程(如,8個),使得向該兩個處理核心200和201分別分配至少一個(如,4個)掃描進程來讀取並解析應用程式安裝包中應用程式配置文件以進一步提高終端設備2的啟動速度。
[0054]接下來,將參照圖3描述根據本發明實施例的啟動控制方法。這裡,圖3的方法可以應用到圖1所示的終端設備上。
[0055]如圖3所示,在步驟S301,在作業系統的系統服務進程啟動之前,啟動開機動畫進程並顯示開機動畫。
[0056]具體地,在作業系統的系統服務進程啟動之前,處理單元11首先啟動開機動畫進程並通過顯示單元10顯示開機動畫。這裡,可以在終端設備11運行作業系統加載程序(Bootloader)時啟動該開機動畫進程。
[0057]在步驟S302,在系統服務進程執行期間,通過系統服務進程初始化鎖屏進程。
[0058]具體地,在系統服務進程執行期間,處理單元11通過系統服務進程初始化鎖屏進程。
[0059]在步驟S303,在系統服務進程完成鎖屏進程的初始化之後,系統服務進程啟動桌面進程。
[0060]具體地,在處理單元11通過系統服務進程完成鎖屏進程的初始化之後,處理單元11通過系統服務進程啟動桌面進程。
[0061]在步驟S304,在桌面進程執行啟動桌面所需的處理期間,系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面,同時桌面進程繼續執行啟動桌面所需的剩餘處理。
[0062]具體地,在桌面進程執行啟動桌面所需的處理期間,處理單元11通過系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面。此時,處理單元11通過桌面進程繼續執行啟動桌面所需的剩餘處理。
[0063]這裡,為了實現在桌面進程執行啟動桌面所需的處理期間,系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面,同時桌面進程繼續執行啟動桌面所需的剩餘處理的處理,圖3的啟動控制方法還可以進一步包括:在系統服務進程完成鎖屏進程的初始化之後,系統服務進程啟動壁紙管理進程;在壁紙管理進程完成壁紙的加載之後,壁紙管理進程向系統服務進程發送壁紙加載完成的消息;在系統服務進程獲得壁紙加載完成的消息之後,系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面。
[0064]具體地,在系統服務進程完成鎖屏進程的初始化之後,處理單元11還通過系統服務進程啟動壁紙管理進程來加載終端設備I的壁紙。在壁紙管理進程完成壁紙的加載之後,處理單元11通過壁紙管理進程向系統服務進程發送壁紙加載完成的消息。這裡,由於鎖屏進程用於通過顯示單元10顯示透明背景,而鎖屏進程的背景為壁紙管理進程所顯示的背景圖。因此,在壁紙管理進程加載了壁紙之後,鎖屏進程就可以顯示鎖屏畫面。在這種情況下,在系統服務進程獲得了壁紙加載完成的消息之後,處理單元11通過系統服務進程停止開機動畫進程,並且通知鎖屏進程顯示鎖屏畫面。此時,由於桌面進程所執行的啟動桌面所需的全部處理的時間要遠遠大於壁紙管理進程加載壁紙的時間,因此在處理單元11通過系統服務進程通知鎖屏進程顯示鎖屏畫面,並且鎖屏進程通過顯示單元10顯示鎖屏畫面時,桌面進程尚未完成啟動桌面所需的全部處理。在這種情況下,處理單元11通過桌面進程繼續執行啟動桌面所需的剩餘處理。這裡,在終端設備I的用戶看到鎖屏畫面直到終端設備I的用戶進行解鎖操作通常至少需要數秒鐘的時間,因此在該段時間內,處理單元11通過桌面進程繼續執行啟動桌面所需的剩餘處理以完成終端設備I的桌面的加載。
[0065]通過上述方式,與現有技術中桌面進程處理完啟動桌面所需的所有處理(例如初始化擴展屏、加載圖標、加載Widget)之後,桌面進程停止開機動畫的顯示,並且通知鎖屏進程顯示鎖屏畫面的處理不同,只要壁紙管理進程完成了壁紙的加載,就通知鎖屏進程顯示鎖屏畫面,同時桌面進程繼續執行啟動桌面所需的剩餘處理。在這種情況下,終端設備I的用戶可以提前看到終端設備I顯示鎖屏畫面,由此會感到終端設備I的啟動速度加快。
[0066]此外,還可以通過其它方式加快終端設備I的開機速度。例如,根據本發明的另一個實施例,圖3的啟動控制方法還可以包括步驟:在系統服務進程執行期間,通過系統服務進程中的數據包管理進程判斷之前是否進行過終端設備中存儲的應用程式安裝包的掃描;如果數據包管理進程判斷之前已經進行過應用程式安裝包的掃描,則數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件。
[0067]具體地,與之前的描述類似,在現有技術中,在終端設備I開機時的系統服務進程執行期間,系統服務進程中的數據包管理進程會串行掃描終端設備I中所有的應用安裝文件(AndroidManifest.xml)。在數據包管理進程掃描所有的應用安裝文件(Apk文件)時,數據包管理進程會首先讀取應用安裝文件(Apk)中應用程式配置文件。然後,數據包管理進程會讀取應用安裝文件中的classes, dex文件,並且將其優化並生成對應的odex包,並將所產生的odex包放在終端設備I的緩存中。此外,數據包管理進程還會讀取應用安裝文件中的庫文件,並且將庫文件放置到終端設備的另一個緩存中。這裡,在終端設備I掃描過(如,終端設備I第一次開機和安裝應用時)對應的應用安裝文件時就已經完成產生並存儲odex包以及讀取並存儲Iib庫的處理,之後也不會存儲在緩存中的odex包以及存儲在另一緩存中的Iib庫做任何修改。因此,只要數據包管理進程成功掃描過所有應用安裝文件,終端設備隨後的啟動過程中,並不需要產生並存儲odex包以及讀取並存儲Iib庫的處理。
[0068]因此,根據本發明的一個實施例,在系統服務進程執行期間,處理單元11通過系統服務進程中的數據包管理進程判斷之前是否進行過終端設備中存儲的應用程式安裝文件的掃描。這裡,例如,如果處理單元11確定已經掃描過(如,終端設備第一次啟動或安裝應用時)終端設備I中存儲的所有應用程式安裝文件,則處理單元11可以在終端設備I中存儲表示已經進行過掃描的標識。在這種情況下,如果處理單元11通過數據包管理進程檢測到該標識,則處理單元11通過數據包管理進程判斷已經進行過終端設備I中所有應用程式安裝文件的掃描。如果處理單元11通過數據包管理進程判斷之前已經進行過應用程式安裝包的掃描,則處理單元11通過數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件。也就是說,處理單元11通過數據包管理進程僅讀取並解析應用程式安裝包中的AndroidManifest.xml文件,並且不進行產生並存儲odex包以及讀取並存儲Iib庫的處理。此外,在處理單元11通過數據包管理進程判斷還未進行過應用程式安裝包的掃描,則處理單元11通過數據包管理進程執行與之前的現有技術描述中的處理相同處理。
[0069]通過上述方式,由於在終端設備I啟動期間省略了數據包管理進程對所有的應用安裝文件執行產生並存儲odex包以及讀取並存儲Iib庫的處理,因此可以大大減少終端設備I的啟動時間。
[0070]此外,在終端設備I的處理單元11為雙核處理器並包括兩個處理核心的情況下,數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件的步驟可以進一步包括:在數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件時,數據包管理進程建立至少兩個掃描進程來通過處理單元的兩個處理核心並行讀取並解析應用程式安裝包中應用程式配置文件。
[0071]具體地,在僅讀取並解析應用程式安裝包中應用程式配置文件時,還可以配置數據包管理進程,使得通過數據包管理進程建立兩個掃描進程,並且向處理單元11的兩個處理核心分別分配一個掃描進程,使得處理單元11的兩個處理核心可以並行讀取並解析應用程式安裝包中應用程式配置文件以提高終端設備I的啟動速度。此外,還可以通過數據包管理進程建立至少兩個的掃描進程(如,8個),使得向該兩個處理核心分別分配至少一個掃描進程來讀取並解析應用程式安裝包中應用程式配置文件。另外,在終端設備11為四核處理器的情況下,還可以通過數據包管理進程建立四個掃描進程,使得處理單元11的四個處理核心分別分配一個掃描進程來並行讀取並解析應用程式安裝包中應用程式配置文件。
[0072]此外,還可以通過其它方式加快終端設備I的開機速度。例如,根據本發明的另一個實施例,圖3的啟動控制方法還可以包括步驟:在終端設備開始啟動時,啟動作業系統加載程序;作業系統加載程序啟動作業系統內核程序;在作業系統內核程序啟動完成之後,啟動作業系統虛擬機;作業系統虛擬機在加載所需的類文件以及資源的同時,作業系統虛擬機並行啟動系統服務進程。
[0073]具體地,與針對圖1的描述類似,在現有技術中,作業系統虛擬機首先加載終端設備的作業系統運行所需的類文件和各種資源(即,虛擬機中的preload進程處理)。在完成類文件和各種資源的加載之後,作業系統虛擬機才開始啟動系統服務進程,此時系統服務進程才能夠運行其所包含的各種進程。因此加載資源以及啟動系統服務進程的串行處理會導致終端設備I的開機速度變慢。針對上述情況,根據本發明的一個實施例,在終端設備開始啟動時,處理單元11首先啟動作業系統加載程序。然後,處理單元11通過作業系統加載程序啟動作業系統內核程序。然後,在作業系統內核程序啟動完成之後,處理單元11啟動作業系統虛擬機。此時,與現有技術不同,在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元11通過作業系統虛擬機並行啟動系統服務進程。這裡,具體地,處理單元11可以是雙核處理器,並且可以包括兩個處理核心。在這種情況下,可以配置作業系統虛擬機中的系統服務進程以及加載類文件和各種資源的進程(preload進程)的執行順序使得通過處理單元11中的兩個處理核心之一執行作業系統虛擬機加載所需的類文件以及資源的處理,並且通過處理單元11中的另一個處理核心執行啟動系統服務進程的處理。具體地,由於處理單元11具有兩個處理核心,因此在並行建立系統服務進程以及加載類文件和各種資源的進程時,處理單元11的兩個處理核心之一被分配了系統服務進程,而另一個處理核心被分配了加載類文件和各種資源的進程。因此,處理單元11的一個處理核心執行作業系統虛擬機加載所需的類文件以及資源的處理,而另一個處理核心執行啟動系統服務進程的處理。在這種情況下,系統服務進程以及加載類文件和各種資源的進程的並行處理可以大大提高終端設備I的啟動速度。
[0074]接下來,將參照圖4描述根據本發明另一個實施例的啟動控制方法。圖4的方法可以應用到圖2所示的終端設備2中,其中終端設備2包括處理單元20,並且處理單元20包括兩個處理核心200和201。
[0075]如圖4所示,在步驟S401,在終端設備開始啟動時,啟動作業系統加載程序。
[0076]在步驟S402,作業系統加載程序啟動作業系統內核程序。
[0077]在步驟S403,在丨呆作系統內核程序啟動完成之後,啟動丨呆作系統虛擬機。
[0078]在步驟S404,作業系統虛擬機在加載所需的類文件以及資源的同時,作業系統虛擬機並行啟動系統服務進程,其中通過處理單元中的兩個處理核心之一執行作業系統虛擬機加載所需的類文件以及資源的處理,並且通過處理單元中的另一個處理核心執行啟動系統服務進程的處理。
[0079]具體地,在終端設備2開始啟動時,處理單元20首先啟動作業系統加載程序。然後,處理單元20通過作業系統加載程序啟動作業系統內核程序。在作業系統內核程序啟動完成之後,處理單元20啟動作業系統虛擬機。此時,與現有技術不同,在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元20通過作業系統虛擬機並行啟動系統服務進程。這裡,處理單元20是雙核處理器,並且包括兩個處理核心200以及201,因此,可以配置作業系統虛擬機中的系統服務進程以及加載類文件和各種資源的進程(preload進程)的執行順序使得二者可以並行執行。例如,可以將系統服務進程的啟動順序放置在加載類文件和各種資源的進程之前,使得在作業系統虛擬機在加載所需的類文件以及各種資源的同時,處理單元20通過作業系統虛擬機並行啟動系統服務進程並且系統服務進程執行對應的處理。具體地,由於處理單元20具有兩個處理核心200以及201,因此在並行建立系統服務進程以及加載類文件和各種資源的進程時,處理單元20的兩個處理核心200和201中的一個處理核心被分配了系統服務進程,而另一個處理核心被分配了加載類文件和各種資源的進程。因此,處理單元20的一個處理核心執行作業系統虛擬機加載所需的類文件以及資源的處理,而另一個處理核心執行啟動系統服務進程的處理。
[0080]通過上述方式,與現有技術中作業系統虛擬機首先加載終端設備的作業系統運行所需的類文件和各種資源然後才開始啟動系統服務進程的串行處理不同。系統服務進程以及加載類文件和各種資源的進程的並行處理可以大大提高終端設備2的啟動速度。
[0081]此外,還可以通過其它方式加快終端設備2的開機速度。例如圖4所示的啟動控制方法還可以包括:在系統服務進程執行期間,通過系統服務進程中的數據包管理進程判斷之前是否進行過終端設備中存儲的應用程式安裝包的掃描;如果數據包管理進程判斷之前已經進行過應用程式安裝包的掃描,則數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件。[0082]具體地,與之前的描述類似,在現有技術中,在終端設備2開機時的系統服務進程執行處理期間,系統服務進程中的數據包管理進程會串行掃描終端設備2中所有的應用安裝文件(Apk文件)。在數據包管理進程掃描所有的應用安裝文件(Apk文件)時,數據包管理進程會首先讀取應用安裝文件(Apk)中應用程式配置文件(即,AndroidManifest.xml)。然後,數據包管理進程會讀取應用安裝文件中的classes, dex文件,並且將其優化並生成對應的odex包,並將所產生的odex包放在終端設備I的緩存中。此外,數據包管理進程還會讀取應用安裝文件中的庫文件(如,Iib庫),並且將庫文件放置到終端設備的另一個緩存中。在終端設備掃描過(如,終端設備的首次開機以及安裝應用時)對應的應用安裝文件時就已經完成產生並存儲odex包和讀取並存儲Iib庫的處理,之後也不會對存儲在緩存中的odex包和存儲在另一緩存中的Iib庫做任何修改。因此,終端設備隨後的啟動過程中,並不需要產生並存儲odex包以及讀取並存儲Iib庫的處理。
[0083]在這種情況下,根據本發明的一個實施例,在系統服務進程執行期間,處理單元20通過系統服務進程中的數據包管理進程判斷之前是否進行過終端設備中存儲的應用程式安裝文件的掃描。這裡,例如,如果處理單元20確定已經掃描過(如,終端設備第一次啟動或安裝應用時)終端設備2中存儲的所有應用程式安裝文件,則處理單元20可以在終端設備2中存儲表示已經進行過掃描的標識。在這種情況下,如果處理單元20通過數據包管理進程檢測到該標識,則處理單元20通過數據包管理進程判斷已經進行過終端設備2中所有應用程式安裝文件的掃描。如果處理單元20通過數據包管理進程判斷之前已經進行過應用程式安裝包的掃描,則處理單元20通過數據包管理進程僅讀取並解析應用程式安裝包中應用程式配置文件。也就是說,處理單元20通過數據包管理進程僅讀取並解析應用程式安裝包中的AndroidManifest.xml文件,並且不進行產生並存儲odex包以及讀取並存儲Iib庫的處理。此外,在處理單元20通過數據包管理進程判斷還未進行過應用程式安裝包的掃描,則處理單元20通過數據包管理進程執行與之前的現有技術描述中的處理相同處理。
[0084]通過上述方式,由於在終端設備2啟動期間省略了數據包管理進程對所有的應用安裝文件執行產生並存儲odex包以及讀取並存儲Iib庫的處理,因此可以大大減少終端設備2的啟動時間。特別是在應用數量很大的情況下,終端設備2的開機速度明顯加快。
[0085]此外,由於終端設備2的處理單元20為雙核處理器並包括兩個處理核心200和201,因此在僅讀取並解析應用程式安裝包中應用程式配置文件時,還可以配置數據包管理進程,使得通過數據包管理進程建立兩個掃描進程,並且向該兩個處理核心200和201分別分配一個掃描進程,使得處理單元20的兩個處理核心200和201可以並行讀取並解析應用程式安裝包中應用程式配置文件以提高終端設備2的啟動速度。此外,還可以通過數據包管理進程建立至少兩個的掃描進程(如,8個),使得向該兩個處理核心200和201分別分配至少一個(如,4個)掃描進程來讀取並解析應用程式安裝包中應用程式配置文件以進一步提高終端設備2的啟動速度。
[0086]在上面詳細描述了本發明的各個實施例。然而,本領域技術人員應該理解,在不脫離本發明的原理和精神的情況下,可對這些實施例進行各種修改,組合或子組合,並且這樣的修改應落入本發明的範圍內。
【權利要求】
1.一種啟動控制方法,應用於終端設備,所述啟動控制方法包括: 在作業系統的系統服務進程啟動之前,啟動開機動畫進程並顯示開機動畫; 在系統服務進程執行期間,通過系統服務進程初始化鎖屏進程; 在系統服務進程完成鎖屏進程的初始化之後,所述系統服務進程啟動桌面進程; 在所述桌面進程執行啟動桌面所需的處理期間,所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面,同時所述桌面進程繼續執行啟動桌面所需的剩餘處理。
2.如權利要求1所述的方法,進一步包括: 在系統服務進程完成鎖屏進程的初始化之後,所述系統服務進程啟動壁紙管理進程;在壁紙管理進程完成壁紙的加載之後,所述壁紙管理進程向所述系統服務進程發送壁紙加載完成的消息; 在所述系統服務進程獲得壁紙加載完成的消息之後,所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面。
3.如權利要求1所述的啟動控制方法,進一步包括: 在系統服務進程執行期間,通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描; 如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
4.如權利要求3所述的啟動控制方法,其中所述終端設備的處理單元至少包括兩個處理核心,所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件的步驟進一步包括: 在所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述數據包管理進程建立至少兩個掃描進程來通過所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
5.如權利要求1所述的啟動控制方法,進一步包括: 在所述終端設備開始啟動時,啟動fe作系統加載程序; 所述作業系統加載程序啟動作業系統內核程序; 在所述作業系統內核程序啟動完成之後,啟動作業系統虛擬機; 所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述作業系統虛擬機並行啟動所述系統服務進程。
6.如權利要求5所述的啟動控制方法,其中所述終端設備的處理單元包括至少兩個處理核心,所述作業系統虛擬機並行啟動所述系統服務進程的步驟進一步包括: 通過所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及 通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
7.一種啟動控制方法,應用於終端設備,所述終端設備的處理單元至少包括兩個處理核心,所述方法包括 在所述終端設備開始啟動時,啟動fe作系統加載程序; 所述作業系統加載程序啟動作業系統內核程序;在所述作業系統內核程序啟動完成之後,啟動作業系統虛擬機; 所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述作業系統虛擬機並行啟動所述系統服務進程, 其中通過所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及 通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
8.如權利要求7所述的啟動控制方法,進一步包括: 在系統服務進程執行期間,通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描; 如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
9.如權利要求8所述的啟動控制方法,其中 在所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述數據包管理進程建立至少兩個掃描進程來通過所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
10.一種終端設備,包括: 顯示單元,配置來顯示畫面; 處理單元,配置來在所述終端設備的啟動過程期間,在作業系統的系統服務進程啟動之前,啟動開機動畫進程並通過所述顯示單元顯示開機動畫;在系統服務進程執行期間,通過系統服務進程初始化鎖屏進程;在系統服務進程完成鎖屏進程的初始化之後,通過所述系統服務進程啟動桌面進程;在所述桌面進程執行啟動桌面所需的處理期間,通過所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面,同時通過所述桌面進程繼續執行啟動桌面所需的剩餘處理。
11.如權利要求10所述的終端設備,其中 在系統服務進程完成鎖屏進程的初始化之後,所述處理單元通過所述系統服務進程啟動壁紙管理進程;以及 在壁紙管理進程完成壁紙的加載之後,所述處理單元通過所述壁紙管理進程向所述系統服務進程發送壁紙加載完成的消息; 在所述系統服務進程獲得壁紙加載完成的消息之後,所述處理單元通過所述系統服務進程停止所述開機動畫進程,並且通知所述鎖屏進程顯示所述鎖屏畫面。
12.如權利要求10所述的終端設備,其中: 在系統服務進程執行期間,所述處理單元通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描; 如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述處理單元通過所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
13.如權利要求12所述的終端設備,其中 所述終端設備的處理單元至少包括兩個處理核心;以及 在僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述處理單元通過所述數據包管理進程建立至少兩個掃描進程,使得所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
14.如權利要求10所述的終端設備,其中: 在所述終端設備開始啟動時,所述處理單元啟動作業系統加載程序; 所述處理單元通過所述作業系統加載程序啟動作業系統內核程序; 在所述作業系統內核程序啟動完成之後,所述處理單元啟動作業系統虛擬機; 所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述處理單元通過所述作業系統虛擬機並行啟動所述系統服務進程。
15.如權利要求14所述的終端設備,其中 所述處理單元包括至少兩個處理核心:以及 所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及 通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
16.—種終端設備,包括: 處理單元,包括至少兩個處理核心,並且配置來執行所述終端設備的啟動控制,其中 在所述終端設備開始啟動時,所述處理單元啟動作業系統加載程序; 所述處理單元通過所述作業系統加載程序啟動作業系統內核程序; 在所述作業系統內核程序啟動完成之後,所述處理單元啟動作業系統虛擬機; 所述作業系統虛擬機在加載所需的類文件以及資源的同時,所述處理單元通過所述作業系統虛擬機並行啟動所述系統服務進程, 其中通過所述處理單元中的兩個處理核心之一執行所述作業系統虛擬機加載所需的類文件以及資源的處理;以及 通過所述處理單元中的另一個處理核心執行啟動所述系統服務進程的處理。
17.如權利要求16所述的終端設備,其中 在系統服務進程執行期間,所述處理單元通過系統服務進程中的數據包管理進程判斷之前是否進行過所述終端設備中存儲的應用程式安裝包的掃描; 如果數據包管理進程判斷之前已經進行過所述應用程式安裝包的掃描,則所述處理單元通過所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件。
18.如權利要求17所述的終端設備,其中 在所述數據包管理進程僅讀取並解析所述應用程式安裝包中應用程式配置文件時,所述處理單元通過所述數據包管理進程建立至少兩個掃描進程,使得通過所述處理單元的至少兩個處理核心並行讀取並解析所述應用程式安裝包中應用程式配置文件。
【文檔編號】G06F9/445GK103699398SQ201210366352
【公開日】2014年4月2日 申請日期:2012年9月27日 優先權日:2012年9月27日
【發明者】史子旺, 董佳 申請人:聯想(北京)有限公司