本發(fā)明涉及電子技術(shù)領(lǐng)域,更具體地涉及一種用于安裝程序的方法和裝置。
背景技術(shù):隨著電子技術(shù)的發(fā)展,諸如移動(dòng)電話、個(gè)人數(shù)字助理、和計(jì)算機(jī)之類的各種電子設(shè)備逐步地被廣泛使用。此外,所述電子設(shè)備的功能也正在逐漸增強(qiáng)以滿足用戶的需求。在所述電子設(shè)備上例如實(shí)現(xiàn)了通信功能、網(wǎng)頁(yè)瀏覽、視頻播放、文本瀏覽和編輯等功能。各個(gè)功能通過(guò)安裝與其對(duì)應(yīng)的應(yīng)用程序來(lái)實(shí)現(xiàn)。此外,每種電子設(shè)備具有不同的操作系統(tǒng),例如個(gè)人計(jì)算上通常使用Windows操作系統(tǒng),而在手機(jī)上通常運(yùn)行的是安卓(Android)操作系統(tǒng)。每種操作系統(tǒng)由大量的系統(tǒng)程序所組成。所述應(yīng)用程序和系統(tǒng)程序的安裝是電子設(shè)備的每個(gè)用戶所必須面對(duì)的工作。通常,在用戶安裝程序期間,電子設(shè)備處于對(duì)用戶的操作不做出響應(yīng)的繁忙狀態(tài)。此時(shí),用戶無(wú)法進(jìn)行操作,并因此花費(fèi)等待時(shí)間。在完成程序的安裝之后,電子設(shè)備進(jìn)入對(duì)用戶的操作做出響應(yīng)的備用狀態(tài),從而用戶能夠使用所述電子設(shè)備。尤其是,在用戶購(gòu)買電子設(shè)備之后,首次使用所述電子設(shè)備之前,通常需要運(yùn)行上百個(gè)應(yīng)用程序。在程序的安裝期間,電子設(shè)備不對(duì)用戶的操作進(jìn)行響應(yīng),從而用戶需要長(zhǎng)時(shí)間的等待。因此,如何在程序的安裝期間縮短用戶的等待時(shí)間成了一項(xiàng)亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供了一種安裝程序的方法和裝置,其能夠根據(jù)電子設(shè)備的狀態(tài)來(lái)控制程序的安裝過(guò)程,減少了在安裝程序過(guò)程中用戶的等待時(shí)間,有效地增強(qiáng)了用戶的使用體驗(yàn)。一方面,提供了一種安裝程序的方法,應(yīng)用于電子設(shè)備中,所述方法包括:確定所述電子設(shè)備是否滿足第一預(yù)定條件;在所述電子設(shè)備滿足所述第一預(yù)定條件時(shí),獲得與程序?qū)?yīng)的安裝文件;對(duì)與所述程序?qū)?yīng)的安裝文件進(jìn)行解析而獲得解析文件,所述解析文件包括第一文件集合和第二文件集合;在所述解析步驟之后安裝所述解析文件中的所述第一文件集合;確定所述電子設(shè)備是否滿足第二預(yù)定條件;以及在所述電子設(shè)備的狀態(tài)滿足所述第二預(yù)定條件時(shí),安裝所述解析文件中的所述第二文件集合,以完成所述程序的安裝。另一方面,提供了一種安裝程序的裝置,該裝置被應(yīng)用于電子設(shè)備,所述裝置包括:第一確定單元,用于確定所述電子設(shè)備是否滿足第一預(yù)定條件;獲得單元,用于在所述電子設(shè)備滿足所述第一預(yù)定條件時(shí),獲得與程序?qū)?yīng)的安裝文件;解析單元,用于對(duì)與所述程序?qū)?yīng)的安裝文件進(jìn)行解析而獲得解析文件,所述解析文件包括第一文件集合和第二文件集合;安裝單元,用于在所述解析步驟之后安裝所述解析文件中的所述第一文件集合;第二確定單元,用于確定所述電子設(shè)備是否滿足第二預(yù)定條件,其中,在所述電子設(shè)備的狀態(tài)滿足所述第二預(yù)定條件時(shí),所述安裝單元安裝所述解析文件中的所述第二文件集合,以完成所述程序的安裝。在本發(fā)明實(shí)施例的上述用于安裝程序的技術(shù)方案中,程序的安裝被拆分為不同的階段,并且通過(guò)根據(jù)電子設(shè)備的狀態(tài)來(lái)控制程序的安裝過(guò)程,減少了在安裝程序過(guò)程中用戶的等待時(shí)間,有效地增強(qiáng)了用戶的使用體驗(yàn)。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1是圖示了根據(jù)本發(fā)明示范實(shí)施例的程序安裝方法的流程圖;圖2是圖示了根據(jù)本發(fā)明示范實(shí)施例的程序安裝裝置的框圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。圖1是圖示了根據(jù)本發(fā)明示范實(shí)施例的程序安裝方法100的流程圖。該程序安裝方法100可用于各種電子設(shè)備,諸如移動(dòng)電話機(jī)、計(jì)算機(jī)、個(gè)人數(shù)字助理等。所述電子設(shè)備可具有各種操作系統(tǒng),諸如現(xiàn)有的視窗(Windows)系統(tǒng)、安卓系統(tǒng)、以及將來(lái)在電子設(shè)備中使用的其它操作系統(tǒng)。下面結(jié)合圖1詳細(xì)描述所述程序安裝方法100。該程序安裝方法100可包括:確定所述電子設(shè)備是否滿足第一預(yù)定條件(步驟S110);在所述電子設(shè)備滿足所述第一預(yù)定條件時(shí),獲得與程序?qū)?yīng)的安裝文件(步驟S120);對(duì)與所述程序?qū)?yīng)的安裝文件進(jìn)行解析而獲得解析文件,所述解析文件包括第一文件集合和第二文件集合(步驟S130);在所述解析步驟之后安裝所述解析文件中的所述第一文件集合(步驟S140);確定所述電子設(shè)備是否滿足第二預(yù)定條件(步驟S150);以及在所述電子設(shè)備滿足所述第二預(yù)定條件時(shí),安裝所述解析文件中的所述第二文件集合,以完成所述程序的安裝(步驟S160)。在步驟S110中,確定所述電子設(shè)備是否滿足第一預(yù)定條件。該步驟S110用于確定是否要開(kāi)始程序的安裝。例如,所述確定電子設(shè)備是否滿足第一預(yù)定條件可包括確定所述電子設(shè)備的系統(tǒng)資源是否滿足特定條件。該系統(tǒng)資源指的是安裝程序所需要占用的電子設(shè)備的系統(tǒng)資源,其例如為電子設(shè)備的中央處理器(CPU)的占用率、電子設(shè)備的可用內(nèi)存等。所述特定條件例如為CPU的占用率低于50%、電子設(shè)備的可用內(nèi)存大于500M中的至少一個(gè)。在具體的應(yīng)用中,可根據(jù)實(shí)踐需要來(lái)具體設(shè)置。替換地,所述確定電子設(shè)備是否滿足第一預(yù)定條件可以包括確定所述電子設(shè)備是否為第一次啟動(dòng)。在所述電子設(shè)備為第一次啟動(dòng)時(shí),通常存在大量的程序要進(jìn)行安裝,此時(shí)啟動(dòng)本發(fā)明的程序安裝方法尤其有利,其可以減少用戶的等待時(shí)間,這將在后面進(jìn)行詳細(xì)描述。要注意的是,可以將該步驟S110中的第一預(yù)定條件設(shè)置為使得在任何情況下都使用后面的步驟S120-S160來(lái)安裝程序。在步驟S120中,在所述電子設(shè)備滿足所述第一預(yù)定條件時(shí),獲得與程序?qū)?yīng)的安裝文件。作為示例,當(dāng)在步驟S110中確定所述電子設(shè)備是第一次啟動(dòng)時(shí),該獲得與程序?qū)?yīng)的安裝文件的步驟可以包括獲得與在所述第一次啟動(dòng)前被預(yù)存在所述電子設(shè)備中的多個(gè)程序?qū)?yīng)的文件。以使用安卓操作系統(tǒng)的移動(dòng)通信終端為例,當(dāng)移動(dòng)通信終端出廠時(shí),已經(jīng)在其中預(yù)存了安卓的系統(tǒng)程序和常用的應(yīng)用程序。當(dāng)?shù)谝淮螁?dòng)該移動(dòng)通信終端時(shí),需要獲取與預(yù)存的每個(gè)程序?qū)?yīng)的安卓程序包(Apk文件),以進(jìn)行安裝。如果電子設(shè)備不是第一次啟動(dòng),則獲取與待安裝的程序?qū)?yīng)的文件。作為與程序?qū)?yīng)的安裝文件的所述Apk文件是一種經(jīng)過(guò)壓縮的程序。每個(gè)Apk文件典型地包括如下部分:(1)META-INF目錄,從javajar文件引入的描述包信息的目錄;(2)res目錄,用于存放資源文件的目錄;(3)AndroidManifest.xml文件,用于程序全局配置的文件;(4)classes.dex文件(Dex:DalvikVMexecute,達(dá)爾維克虛擬機(jī)可執(zhí)行格式),是java源碼編譯后生成的java字節(jié)碼文件;(5)resources.ars文件,是編譯后的二進(jìn)制資源文件;(6)libs文件,用于存放編譯得到的so文件(該libs可以不存在)。當(dāng)然,在其它的操作系統(tǒng)下,與程序?qū)?yīng)的安裝文件可以具有其它的形式,上述的安卓系統(tǒng)系統(tǒng)下的Apk文件不構(gòu)成對(duì)本發(fā)明的限制。在步驟S130中,對(duì)與所述程序?qū)?yīng)的安裝文件進(jìn)行解析而獲得解析文件,所述解析文件包括第一文件集合和第二文件集合。在安卓操作系統(tǒng)下的程序安裝的情況下,通過(guò)對(duì)Apk文件(安卓程序包)進(jìn)行解壓縮來(lái)進(jìn)行所述解析操作。如前所述,Apk文件通常被解壓縮如下部分:META-INF目錄、res目錄、AndroidManifest.xml文件、classes.dex文件、resources.ars文件、和libs文件。例如可以將META-INF目錄、res目錄、AndroidManifest.xml文件、和resources.ars文件作為第一文件集合,而將classes.dex文件、和libs文件作為第二文件集合,以在隨后的安裝步驟中先安裝第一文件集合,然后安裝第二文件集合。通常,第一文件集合中的文件是解析文件中需要先安裝的文件(例如是程序中的基礎(chǔ)性文件),第二文件集合中的文件是解析文件中可以隨后安裝的文件。在具體的實(shí)踐中,可以針對(duì)不同的程序進(jìn)行不同的區(qū)分。此外,還可以調(diào)整第一文件集合和第二文件集合中的文件,例如,可以將第二文件集合中的libs文件放入第一文件集合中,反之亦然。在步驟S140中,在所述解析步驟之后安裝所述解析文件中的所述第一文件集合。作為示例,在安卓操作系統(tǒng)下的程序安裝的情況下,可以安裝所述包括META-INF目錄、res目錄、AndroidManifest.xml文件、和resources.ars文件的第一文件集合。此外,在完成第一文件集合的安裝之后,可以在電子設(shè)備中顯示與所述程序?qū)?yīng)的啟動(dòng)圖標(biāo),該啟動(dòng)圖標(biāo)使得用戶能夠啟動(dòng)被安裝的程序。在用戶例如點(diǎn)擊了該啟動(dòng)圖標(biāo)時(shí),電子設(shè)備獲知用戶期望使用正在安裝的程序,從而優(yōu)先安裝與該程序?qū)?yīng)的第一文件集合和第二文件集合。因此,該啟動(dòng)圖標(biāo)在部分安裝的程序與用戶之間提供了一個(gè)溝通通道。當(dāng)然,該啟動(dòng)圖標(biāo)可以一直顯示,直到完成程序的安裝。在步驟S150中,確定所述電子設(shè)備是否滿足第二預(yù)定條件。該步驟S150用于確定是否開(kāi)始第二文件集合的安裝。作為示例,所述確定電子設(shè)備是否滿足第二預(yù)定條件的步驟可包括確定所述電子設(shè)備是否完成第一文件集合的安裝,從而可以在安裝了需要優(yōu)先安裝的第一文件集合之后,開(kāi)始第二文件集合的安裝。此外,該確定所述電子設(shè)備是否滿足第二預(yù)定條件(步驟S150)還可以包括確定沒(méi)有檢測(cè)到用戶對(duì)安裝的程序的點(diǎn)擊操作。通常,如果用戶點(diǎn)擊正在安裝其第一文件集合的程序、或者已安裝其第一文件集合的程序,則意味著用戶期望盡快使用該程序,此時(shí)需要盡快安裝第二文件集合,以完成程序的安裝來(lái)供用戶使用。在實(shí)踐中可以根據(jù)需要進(jìn)行設(shè)置。在步驟S160中,在所述電子設(shè)備滿足所述第二預(yù)定條件時(shí),安裝所述解析文件中的所述第二文件集合,以完成所述程序的安裝??梢栽诤笈_(tái)安裝所述解析文件中的第二文件集合。此外,可以根據(jù)預(yù)定順序安裝解析文件中的所述第二文件集合。該預(yù)定順序可以是基于用戶對(duì)程序的使用頻率來(lái)確定,或者簡(jiǎn)單地按照字母的先后順序來(lái)確定。作為示例,在安卓操作系統(tǒng)下的程序安裝的情況下,可以先安裝第二文件集合中的classes.dex文件、然后安裝libs文件,以完成第二文件集合的安裝。在步驟S150中確定所述電子設(shè)備完成第一文件集合的安裝的情況下,所述安裝解析文件中的所述第二文件集合的步驟可以包括:檢測(cè)電子設(shè)備的系統(tǒng)資源是否滿足特定條件;在電子設(shè)備的系統(tǒng)資源滿足所述特定條件時(shí),安裝解析文件中的所述第二文件集合。也就是說(shuō),在所述電子設(shè)備完成第一文件集合的安裝的情況下,還確定電子設(shè)備的系統(tǒng)資源是否滿足特定條件(如前所述)。在所述電子設(shè)備完成第一文件集合的安裝的情況下,如果由于電子設(shè)備的其它操作而導(dǎo)致電子設(shè)備的系統(tǒng)資源緊張,則可以延遲第二文件集合的安裝,從而不影響所述其它操作;如果存在可用的系統(tǒng)資源,則可以啟動(dòng)第二文件集合的安裝,以加快安裝的進(jìn)程。此時(shí),可以根據(jù)預(yù)定順序安裝解析文件中的所述第二文件集合。此外,在安裝解析文件中的所述第二文件集合的過(guò)程中還可以考慮用戶的期望。例如,在所述電子設(shè)備完成第一文件集合的安裝的情況下,或者在所述電子設(shè)備完成第一文件集合的安裝、并且電子設(shè)備的系統(tǒng)資源滿足所述特定條件的情況下,可以通過(guò)如下步驟來(lái)安裝解析文件中的所述第二文件集合:檢測(cè)用戶對(duì)特定程序的啟動(dòng)操作;判斷第二文件集合中與所述特定程序?qū)?yīng)的文件是否被安裝;在第二文件集合中與所述特定程序?qū)?yīng)的文件沒(méi)有被安裝的情況下,安裝第二文件集合中與所述特定程序?qū)?yīng)的文件,以完成所述特定程序的安裝;運(yùn)行所述特定程序。此時(shí),可以加快用戶期望使用的程序的安裝。需要注意的是,可以在任一個(gè)安裝第二文件集合的過(guò)程中考慮用戶的期望,而不限于上面具體給出的兩個(gè)示例。如果在步驟S110中確定所述電子設(shè)備是第一次啟動(dòng)、并且在步驟S150中確定所述電子設(shè)備完成第一文件集合的安裝,則所述安裝解析文件中的所述第二文件集合(步驟S160)可以包括:安裝所述第二文件集合中與界面程序?qū)?yīng)的界面文件,該界面程序是與電子設(shè)備的操作界面的使用相關(guān)的程序;在完成界面文件的安裝之后,安裝所述第二文件集合中除了界面文件之外的剩余文件。如前所述,在所述電子設(shè)備是第一次啟動(dòng)時(shí),需要安裝包括系統(tǒng)程序和應(yīng)用程序的大量程序。因?yàn)榕c電子設(shè)備的操作界面的使用相關(guān)的界面程序是用戶操作的基礎(chǔ),并且界面的顯示可以使得用戶能夠啟動(dòng)期望的操作,因此可以優(yōu)先安裝所述界面程序,此后安裝所述第二文件集合中除了界面文件之外的剩余文件。在完成第一文件集合和第二文件集合的安裝之后,結(jié)束程序的安裝。在本發(fā)明實(shí)施例的上述程序安裝方法中,程序的安裝被拆分為不同的階段,并且通過(guò)根據(jù)電子設(shè)備的狀態(tài)來(lái)控制程序的安裝過(guò)程,減少了在安裝程序過(guò)程中用戶的等待時(shí)間,有效地增強(qiáng)了用戶的使用體驗(yàn)。圖2是圖示了根據(jù)本發(fā)明示范實(shí)施例的程序安裝裝置200的框圖。該程序安裝裝置200可用于各種電子設(shè)備,且該所述電子設(shè)備可具有各種操作系統(tǒng)。也就是說(shuō),電子設(shè)備的類型和操作系統(tǒng)的類型不構(gòu)成對(duì)本發(fā)明的限制。下面結(jié)合圖2詳細(xì)描述所述程序安裝裝置200。所述程序安裝裝置200可包括:第一確定單元210,用于確定所述電子設(shè)備是否滿足第一預(yù)定條件;獲得單元220,用于在所述電子設(shè)備滿足所述第一預(yù)定條件時(shí),獲得與程序?qū)?yīng)的安裝文件;解析單元230,用于對(duì)與所述程序?qū)?yīng)的安裝文件進(jìn)行解析而獲得解析文件,所述解析文件包括第一文件集合和第二文件集合;安裝單元240,用于在所述解析步驟之后安裝所述解析文件中的所述第一文件集合;第二確定單元250,用于確定所述電子設(shè)備是否滿足第二預(yù)定條件,其中,在所述電子設(shè)備滿足所述第二預(yù)定條件時(shí),所述安裝單元240安裝所述解析文件中的所述第二文件集合,以完成所述程序的安裝。所述第一確定單元210可確定所述電子設(shè)備是否滿足第一預(yù)定條件,以判斷是否要開(kāi)始程序的安裝。例如,所述第一確定單元210可如前所述確定所述電子設(shè)備的系統(tǒng)資源是否滿足特定條件,以判斷電子設(shè)備的當(dāng)前狀態(tài)是否適合于進(jìn)行程序的安裝。要注意,該特定條件可結(jié)合不同程序的安裝所需要的系統(tǒng)資源而適當(dāng)?shù)馗淖?。替換地,所述第一確定單元210可確定所述電子設(shè)備是否為第一次啟動(dòng)。在所述電子設(shè)備為第一次啟動(dòng)時(shí),通常需要安裝大量的程序要,此時(shí)利用本發(fā)明的程序安裝裝置來(lái)安裝程序尤為有利,其可以減少用戶的等待時(shí)間。此外,所述第一確定單元210還可以將該第一預(yù)定條件設(shè)置為使得在任何情況下都使用本發(fā)明的程序安裝裝置來(lái)安裝程序。在所述電子設(shè)備滿足所述第一預(yù)定條件時(shí),所述獲得單元220可獲得與程序?qū)?yīng)的安裝文件。作為示例,當(dāng)?shù)谝淮_定單元210確定所述電子設(shè)備是第一次啟動(dòng)時(shí),該獲得單元220可獲得與在所述第一次啟動(dòng)前被預(yù)存在所述電子設(shè)備中的多個(gè)程序?qū)?yīng)的文件。以使用安卓操作系統(tǒng)的移動(dòng)通信終端為例,在其中預(yù)存了安卓的系統(tǒng)程序和常用的應(yīng)用程序,當(dāng)?shù)谝淮螁?dòng)該移動(dòng)通信終端時(shí),需要獲取與預(yù)存的每個(gè)程序?qū)?yīng)的Apk文件,以進(jìn)行安裝。如果電子設(shè)備不是第一次啟動(dòng),則獲取與待安裝的程序?qū)?yīng)的文件。所述解析單元230可對(duì)與所述程序?qū)?yīng)的安裝文件進(jìn)行解析而獲得解析文件,所述解析文件包括第一文件集合和第二文件集合。通常,第一文件集合中的文件是解析文件中需要先安裝的文件(例如是程序中的基礎(chǔ)性文件),第二文件集合中的文件是解析文件中可以隨后安裝的文件。在安卓操作系統(tǒng)下的程序安裝的情況下,通過(guò)對(duì)Apk文件(安卓程序包)進(jìn)行解壓縮來(lái)進(jìn)行所述解析操作。例如,第一文件集合可以包括解壓縮后得到的META-INF目錄、res目錄、AndroidManifest.xml文件、和resources.ars文件,第二文件集合可以包括解壓縮后得到的classes.dex文件、和libs文件。在具體的實(shí)踐中,可以針對(duì)不同的程序進(jìn)行不同的區(qū)分,并且可以調(diào)整第一文件集合和第二文件集合中的文件。所述安裝單元240在所述解析步驟之后,安裝所述解析文件中的所述第一文件集合。作為示例,在安卓操作系統(tǒng)下的程序安裝的情況下,可以安裝第一文件集合中的META-INF目錄、res目錄、AndroidManifest.xml文件、和resources.ars文件。此外,所述安裝單元240還可以安裝解析文件中的第二文件集合,這將在后面詳細(xì)描述。在所述安裝單元240完成第一文件集合的安裝之后,可以在電子設(shè)備中顯示與所述程序?qū)?yīng)的啟動(dòng)圖標(biāo),該啟動(dòng)圖標(biāo)使得用戶能夠啟動(dòng)被安裝的程序。當(dāng)用戶例如點(diǎn)擊了該啟動(dòng)圖標(biāo)時(shí),電子設(shè)備獲知用戶期望使用正在安裝的程序,從而優(yōu)先安裝與該程序?qū)?yīng)的第一文件集合和第二文件集合。因此,該啟動(dòng)圖標(biāo)在部分安裝的程序與用戶之間提供了一個(gè)溝通通道。當(dāng)然,該啟動(dòng)圖標(biāo)可以一直顯示,直到完成程序的全部安裝。所述第二確定單元250用于確定所述電子設(shè)備是否滿足第二預(yù)定條件,以判斷是否開(kāi)始第二文件集合的安裝。例如,所述第二確定單元250可確定所述電子設(shè)備是否完成第一文件集合的安裝,從而可以在安裝了需要優(yōu)先安裝的第一文件集合之后,開(kāi)始第二文件集合的安裝。此外,該第二確定單元250可以確定是否沒(méi)有檢測(cè)到用戶對(duì)安裝的程序的點(diǎn)擊操作,如果沒(méi)有檢測(cè)到用戶對(duì)安裝的程序的點(diǎn)擊操作,則第二文件集合的安裝可以按照既定的順序或過(guò)程來(lái)進(jìn)行,無(wú)需加快安裝;如果檢測(cè)到用戶對(duì)安裝的程序的點(diǎn)擊操作,則需要例如盡快安裝第二文件集合,以完成程序的安裝來(lái)供用戶使用。要注意,在實(shí)踐中,可以由第一確定單元210執(zhí)行該第二確定單元250的操作,這里為了清楚起見(jiàn)才分開(kāi)描述。在所述電子設(shè)備滿足所述第二預(yù)定條件時(shí),所述安裝單元240安裝所述解析文件中的所述第二文件集合,以完成所述程序的安裝。所述安裝單元240可以在后臺(tái)安裝所述解析文件中的第二文件集合。此外,所述安裝單元240可以根據(jù)預(yù)定順序安裝解析文件中的所述第二文件集合。該預(yù)定順序可以是基于用戶對(duì)程序的使用頻率來(lái)確定,或者簡(jiǎn)單地按照字母的先后順序來(lái)確定。在第二確定單元250確定所述電子設(shè)備完成第一文件集合的安裝的情況下,所述安裝單元240可通過(guò)如下操作安裝解析文件中的所述第二文件集合:檢測(cè)電子設(shè)備的系統(tǒng)資源是否滿足特定條件;在電子設(shè)備的系統(tǒng)資源滿足所述特定條件時(shí),安裝解析文件中的所述第二文件集合。也就是說(shuō),在所述電子設(shè)備完成第一文件集合的安裝的情況下,還確定電子設(shè)備的系統(tǒng)資源是否滿足特定條件(如前所述)。在所述電子設(shè)備完成第一文件集合的安裝的情況下,如果由于電子設(shè)備的其它操作而導(dǎo)致電子設(shè)備的系統(tǒng)資源緊張,則可以延遲第二文件集合的安裝,從而不影響所述其它操作;如果存在可用的系統(tǒng)資源,則可以啟動(dòng)第二文件集合的安裝,以加快安裝的進(jìn)程。此外,在安裝單元240安裝解析文件中的所述第二文件集合的過(guò)程中還可以考慮用戶的期望。例如,在所述電子設(shè)備完成第一文件集合的安裝的情況下,或者在所述電子設(shè)備完成第一文件集合的安裝、并且電子設(shè)備的系統(tǒng)資源滿足所述特定條件的情況下,安裝單元240可以通過(guò)如下步驟來(lái)安裝解析文件中的所述第二文件集合:檢測(cè)用戶對(duì)特定程序的啟動(dòng)操作;判斷第二文件集合中與所述特定程序?qū)?yīng)的文件是否被安裝;在第二文件集合中與所述特定程序?qū)?yīng)的文件沒(méi)有被安裝的情況下,安裝第二文件集合中與所述特定程序?qū)?yīng)的文件,以完成所述特定程序的安裝;運(yùn)行所述特定程序。此時(shí),可以加快用戶期望使用的程序的安裝。需要注意的是,可以在任一個(gè)安裝第二文件集合的過(guò)程中考慮用戶的期望,而不限于上面具體給出的兩個(gè)示例。如果所述第一確定單元210確定所述電子設(shè)備是第一次啟動(dòng)、并且所述第二確定單元250確定所述電子設(shè)備完成第一文件集合的安裝,則所述安裝單元240可通過(guò)如下操作安裝解析文件中的所述第二文件集合:安裝所述第二文件集合中與界面程序?qū)?yīng)的界面文件,該界面程序是與電子設(shè)備的操作界面的使用相關(guān)的程序;在完成界面文件的安裝之后,安裝所述第二文件集合中除了界面文件之外的剩余文件。如前所述,在所述電子設(shè)備是第一次啟動(dòng)時(shí),需要安裝包括系統(tǒng)程序和應(yīng)用程序的大量程序。因?yàn)榕c電子設(shè)備的操作界面的使用相關(guān)的界面程序是用戶操作的基礎(chǔ),并且界面的顯示可以使得用戶能夠啟動(dòng)期望的操作,因此可以優(yōu)先安裝所述界面程序,此后安裝所述第二文件集合中除了界面文件之外的剩余文件。在安裝單元240完成第一文件集合和第二文件集合的安裝之后,結(jié)束程序的安裝。在本發(fā)明實(shí)施例的上述程序安裝裝置中,程序的安裝被拆分為不同的階段,并且通過(guò)根據(jù)電子設(shè)備的狀態(tài)來(lái)控制程序的安裝過(guò)程,減少了在安裝程序過(guò)程中用戶的等待時(shí)間,有效地增強(qiáng)了用戶的使用體驗(yàn)。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。在本申請(qǐng)所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。