電子設備快速啟動的方法
【技術領域】
[0001]本發明涉及電子設備技術領域,尤其涉及一種電子設備快速啟動的方法。
【背景技術】
[0002]目前,基于安卓(Android)系統的電子設備(如手機、平板電腦等)在重啟時,均是先啟動內核(Kernel),再調用服務管理器(service manager)及許多應用程序(services),并基于Zygote創建運行環境后,才能啟動進程(System Server)及其他的初始化操作(Init work);于上述一系列動作之后,基于安卓系統的電子設備才能顯示用于用戶能夠正常操作的界面;即基于安卓系統的電子設備在重啟時,其需要花費太多的時間來進行上述一步步的啟動步驟才能完成重啟操作,進而使得用戶的體驗越來越差。
[0003]另外,隨著電子設備中安裝的應用程序(Android Package,簡稱APK)越多,上述重啟操作所花費的時間會越久,會進一步的降低用戶的體驗。
【發明內容】
[0004]鑒于上述技術問題,本申請提供一種電子設備快速啟動的方法,可應用在基于安卓系統的電子設備重啟中,所述電子設備包括有與中央處理器通訊連接的第一存儲設備,且所述存儲模塊中存儲有內存鏡像,所述方法包括:
[0005]所述中央處理器調取并根據存儲在所述第一存儲設備中的所述內存鏡像重啟所述電子設備。
[0006]作為一個優選的實施例,上述的電子設備快速啟動的方法中,所述電子設備還包括內存,且所述內存分別與所述中央處理器和所述第一存儲模塊通訊連接,所述方法還包括:
[0007]所述電子設備正常啟動完成時,對所述內存中的內存數據和所述電子設備中相關設備的運行狀態數據進行處理后生成所述內存鏡像;
[0008]將所述內存鏡像存儲至所述第一存儲設備。
[0009]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0010]于所述電子設備在固件升級后首次啟動時和/或所述電子設備恢復出廠設置后首次啟動時生成所述內存鏡像;以及
[0011]若所述電子設備重啟時發現所述第一存儲設備中未存儲有與所述內存匹配的所述內存鏡像,則在按照常規的重啟方式首次正常重啟所述電子設備時,生成所述內存鏡像。
[0012]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0013]采用CRC校驗方式來判斷所述第一存儲設備存儲的內存鏡像是否損壞;
[0014]若所述電子設備重啟時發現所述第一存儲設備中存儲的內存鏡像損壞時,則在按照常規的重啟方式首次正常重啟所述電子設備時,生成所述內存鏡像。
[0015]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0016]新生成的內存鏡像將所述第一存儲設備中存儲的內存鏡像予以替換,以確保所述第一存儲設備中只存儲有最新的內存鏡像。
[0017]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0018]對所述內存中的內存數據和所述電子設備中相關設備的運行狀態數據依次進行整理操作、打包操作和壓縮操作后生成所述內存鏡像。
[0019]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0020]所述中央處理器根據所述內存鏡像分別對所述內存進行數據恢復操作和對所述相關設備的運行狀態進行恢復,以重啟所述電子設備。
[0021]作為一個優選的實施例,上述的電子設備快速啟動的方法中,所述電子設備還包括與所述中央處理器通訊連接的第二存儲設備,所述第二存儲設備中存儲有所述電子設備的可記錄數據,所述方法還包括:
[0022]所述中央處理器調取并根據所述可記錄數據對所述電子設備重啟時運行設備的可記錄數據進行更新。
[0023]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0024]所述第二存儲設備為非易失性存儲器。
[0025]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0026]所述第一存儲設備為非易失性存儲器。
[0027]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0028]所述中央處理器調取存儲在所述第一存儲設備中的所述內存鏡像,并對所述內存鏡像進行解壓縮操作后,并根據解壓縮后的內存鏡像重啟所述電子設備。
[0029]作為一個優選的實施例,上述的電子設備快速啟動的方法中:
[0030]所述存儲模塊中存儲有內存鏡像,所述中央處理器調取并根據存儲在所述第一存儲設備中的所述內存鏡像重啟所述電子設備。
[0031]上述技術方案具有如下優點或有益效果:
[0032]本申請中的技術方案是通過利用在電子設備的非易失性存儲器中生成并存儲內存鏡像,并在電子設備重啟時直接調取該內存鏡像進行諸如內存數據的恢復、設備狀態的恢復等操作,進而完成電子設備的重啟;即電子設備在重啟時不再需要按照常規啟動的方式于啟動內核后,依次調用服務管理器和系統應用程序及利用Zygote創建運行環境,才能啟動進程及其他的初始化操作等一系列動作才能完成重啟動作,進而可大大提高電子設備的啟動速度及用戶體驗。
【附圖說明】
[0033]參考所附附圖,以更加充分的描述本發明的實施例。然而,所附附圖僅用于說明和闡述,并不構成對本發明范圍的限制。
[0034]圖1為本申請實施例中電子設備生成內存鏡像的流程示意圖;
[0035]圖2為本申請實施例中電子設備利用內存鏡像進行快速啟動的流程示意圖。
【具體實施方式】
[0036]本發明實施例中提供的電子設備快速啟動的方法,均可基于現有安卓系統的電子設備(當然也可應用于其他系統的電子設備上,本申請中是以安卓系統為例進行說明,其他系統的快速啟動方法與本申請實施例所記載的技術方案較為近似,故在此便不予累述)的基礎上,根據電子設備正常啟動時的內存數據及設備狀態信息等數據來生成內存鏡像,并將該內存鏡像存儲至電子設備的非易失性存儲器中,以于下次重啟電子設備時,直接調用該內存鏡像,以使得電子設備能夠快速的恢復至生成內存鏡像時的運行狀態(reloadsystem memory image into the DDR),且利用可記錄數據的更新,使得電子設備快速重啟至該電子設備最后一次關機時的運行狀態。
[0037]下面結合附圖和具體實施例對本發明的音視頻轉換裝置進行詳細說明。
[0038]圖1為本申請實施例中電子設備生成內存鏡像的流程示意圖;如圖1所示,在本實施例中,電子設備在正常啟動操作完成的同時,可根據電子設備的內存數據和當前電子設備運行時其所包括的相關設備的運行狀態數據生成一內存鏡像(image)(也可稱為內存快照(snapshot)),并將該內存鏡像存儲至電子設備的非易失性存儲器(即第一存儲設備)中,以用于后續電子設備的快速重啟操作。
[0039]例如,在電子設備的固件升級(Firmware Upgrading)后的首次正常啟動和/或在電子設備被恢復出廠設置(Factory Reset)后的首次正常啟動時,在正常啟動操作即將完成或完成的同時,可根據此時電子設備的內存(DRAM)中運行的數據(即內存數據)和此時電子設備運行的所需要的相關設備(即電子設備正常啟動所需要的相關設備)的運行狀態數據生成一鏡像數據。
[0040]然后,對上述的鏡像數據進行整理、打包(shrink)及壓縮(compress)后,轉存至電子設備的非易失性存儲器(如磁盤(disk)等)中;經過上述一系列操作后可有效降低鏡像數據的大小,且較小的鏡像數據不僅能夠減小后續電子設備重啟時加載的速度,還能有效降低鏡像數據的存儲空間;例如,生成的120?250M的原始鏡像數據經壓縮后只有35?75M,其壓縮率(compress1n rat1)能夠達到29%,進而可有效降低電子設備重啟的時間及其占用的存儲空間。
[0041]優選的,在對上述的鏡像數據進行壓縮時可同時添加CRC(Cyclic RedundancyCheck,循環冗余校驗碼)校驗碼方式進行加密,以便于后續對鏡像數據的CRC校驗操作,進而判斷鏡像數據是否損壞。
[0042]進一步的,在電子設備后續其他啟動或重啟時,若發現電子設備中沒有存儲有鏡像數據或者存儲的鏡像數據損壞(corrupted)或者鏡像數據與內存不匹配(not matched)時,則電子設備可按照當前傳統的啟動方式進行啟動(具體可參見【背景技術】部分的相關闡述),并在正常啟動即將完成或完成時,根據此時電子設備的內存中運行的數據和此時電子設備運行的所需要的相關設備的運行狀態數據生成一鏡像數據(具體可參見上述鏡像數據生成的步驟,在此便不予累述),并將該鏡像數據轉存至電子設備的非易失性存儲器中。
[0043]優選的,上述再將鏡像數據(即新的鏡像數據)轉存至電子設備的非易失性存儲器中時,若該非易失性存儲器中已經存儲有鏡像數據(即舊的鏡像數據),無論該舊的鏡像數據是否損壞或與內存匹配,均將該舊的鏡像數據刪除并只保存上述新的鏡像數據,即該非易失性存儲器中存儲的鏡像數據為唯一且是最新生成的。
[0044]需要注意的是,上述的鏡像數據