專利名稱:一種Android系統(tǒng)的重啟方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種Android系統(tǒng)的重啟方法。
背景技術(shù):
Android(安卓)系統(tǒng)是由谷歌公司開(kāi)發(fā)的一種基于Linux平臺(tái)的開(kāi)源操作系統(tǒng), 目前被廣泛應(yīng)用于手機(jī)等智能便攜式數(shù)碼設(shè)備中。Android系統(tǒng)中的引導(dǎo)過(guò)程有兩個(gè)階段 引導(dǎo)裝載程序階段和內(nèi)核階段。引導(dǎo)裝載程序階段主要包括硬件階段、固件階段、第一級(jí)引導(dǎo)裝載程序和第二級(jí)引導(dǎo)裝載程序。引導(dǎo)過(guò)程從硬件加電啟動(dòng)開(kāi)始。一些初始化工作完成后,控制轉(zhuǎn)到固件。固件在一些體系結(jié)構(gòu)中也稱為“BIOS”,它去檢測(cè)系統(tǒng)上的各種設(shè)備,包括內(nèi)存控制器、存儲(chǔ)設(shè)備、總線橋和其他硬件。固件基于設(shè)置將控制移交給一個(gè)最小化的引導(dǎo)裝載程序,即大家所知的主引導(dǎo)記錄(master boot record),這個(gè)主引導(dǎo)記錄可能在磁盤(pán)驅(qū)動(dòng)器上,或者在可移動(dòng)媒體上,或者在網(wǎng)絡(luò)上。將控制移交給操作系統(tǒng)的實(shí)際工作由第二階段引導(dǎo)裝載程序(通常被簡(jiǎn)單地認(rèn)為是“引導(dǎo)裝載器(boot loader)")執(zhí)行。這個(gè)引導(dǎo)裝載程序讓用戶可以選擇要裝載的內(nèi)核,將內(nèi)核和相關(guān)參數(shù)裝載到內(nèi)存,初始化內(nèi)核,設(shè)置需要的環(huán)境變量,并最終“運(yùn)行”內(nèi)核。引導(dǎo)的下一個(gè)階段是內(nèi)核階段,此時(shí)內(nèi)核已經(jīng)獲得控制權(quán)。它設(shè)置需要的數(shù)據(jù)結(jié)構(gòu),檢測(cè)當(dāng)前在系統(tǒng)上的設(shè)備,裝載需要的設(shè)備驅(qū)動(dòng)程序, 并初始化設(shè)備。引導(dǎo)過(guò)程的最后階段包括用戶級(jí)初始化。在這個(gè)階段,內(nèi)核檢查文件系統(tǒng)的完整性,掛載文件系統(tǒng),設(shè)置交換分區(qū)(或者交換文件),啟動(dòng)系統(tǒng)服務(wù),設(shè)置系統(tǒng)終端, 并完成所有其他設(shè)置。在系統(tǒng)重新啟動(dòng)時(shí),引導(dǎo)裝載階段之前要先關(guān)閉先前正在運(yùn)行的系統(tǒng)。這涉及到停止運(yùn)行的進(jìn)程,將高速緩沖存儲(chǔ)器內(nèi)容寫(xiě)回到磁盤(pán),卸載文件系統(tǒng),然后執(zhí)行硬件的重啟。然而,上述繁瑣的重啟過(guò)程對(duì)于以簡(jiǎn)單、快速實(shí)現(xiàn)用戶體驗(yàn)見(jiàn)長(zhǎng)的便攜式智能數(shù)碼設(shè)備來(lái)說(shuō)耗時(shí)顯然過(guò)長(zhǎng),增加了用戶的等待時(shí)間。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種Android系統(tǒng)的重啟方法,以實(shí)現(xiàn)快速重啟Android系統(tǒng)。本發(fā)明提供的一種Android系統(tǒng)的重啟方法,包括以下步驟A、重啟前,采集當(dāng)前Android系統(tǒng)信息;B、使用kexec重新啟動(dòng)Android系統(tǒng);C、根據(jù)所采集的Android系統(tǒng)信息,篩選出影響系統(tǒng)啟動(dòng)速度的程序;D、有選擇地禁用或啟用影響系統(tǒng)啟動(dòng)速度的程序。由上可以看出,本發(fā)明方法可以跳過(guò)整個(gè)引導(dǎo)裝載程序階段并直接跳轉(zhuǎn)到希望引導(dǎo)的內(nèi)核,而不再有硬件的重啟,不再有固件操作,不再涉及引導(dǎo)裝在程序,完全避開(kāi)了引導(dǎo)過(guò)程中比較耗時(shí)的一環(huán)-固件階段,且通過(guò)有選擇地禁用或啟用影響系統(tǒng)啟動(dòng)速度的程序,例如建議用戶不要在系統(tǒng)重啟的同時(shí)打開(kāi)某些影響系統(tǒng)啟動(dòng)速度的程序,以避免再次造成系統(tǒng)響應(yīng)速度緩慢,并進(jìn)一步提高了 Android系統(tǒng)的重啟速度。
在上述方法中,所述步驟A包括在指定時(shí)間內(nèi)周期采集所述Android系統(tǒng)信息并將該信息保存下來(lái);所述Android系統(tǒng)信息包括當(dāng)前各個(gè)程序占用CPU、內(nèi)存以及I/O請(qǐng)求的情況。由上可以看出,通過(guò)采集所述Android系統(tǒng)信息為找出影響系統(tǒng)啟動(dòng)速度的程序提供了前提基礎(chǔ)。在上述方法中,所述步驟C包括Cl、判斷Android系統(tǒng)在重啟之前每個(gè)程序占用的系統(tǒng)資源,包括分別判斷每個(gè)程序的CPUpi、MEMpi和IOWpi的大小如果某一程序的CPUpi大于CPUpi閥值或MEMpi大于MEMpi閥值或IOWpi大于IOWpi閥值,則將該程序標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序;C2、判斷被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序的數(shù)量如果該數(shù)量在第一范圍內(nèi),則認(rèn)定標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序?yàn)橛绊懴到y(tǒng)響應(yīng)速度的程序;如果該數(shù)量在第二范圍內(nèi),則將這些被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序的CPUpi、MEMpi和 IOWpi分別帶入方程CPUpi χ Xcpu + MEMpi χ Amem + IOWpi χ Mow ,從中選出
方程解最大的給定數(shù)量的程序作為影響系統(tǒng)響應(yīng)速度的程序;其中,Sumcpu、Summem、Sumiowait分別是所有程序的平均CPU占用率、
平均內(nèi)存占用率和平均1/0請(qǐng)求率;CPUpi、MEMpi和IOWpi (i = 1,2,......η)
分別是每個(gè)程序的平均CPU占用率、平均內(nèi)存占用率和平均1/0請(qǐng)求率;λ cpu、λ mem和 λ iow分別為所述CPU占用率、內(nèi)存占用率和1/0請(qǐng)求率的權(quán)重。由上可以看出,通過(guò)判斷程序CPU占用率、內(nèi)存占用率和1/0請(qǐng)求率可以客觀、真實(shí)地反映出哪些程序影響系統(tǒng)的響應(yīng)速度。在上述方法中,步驟D所述對(duì)于影響系統(tǒng)啟動(dòng)速度的程序的處理包括在Android系統(tǒng)重啟時(shí)禁止所有啟動(dòng)影響系統(tǒng)啟動(dòng)速度的程序;或者,在Android系統(tǒng)重啟時(shí)啟動(dòng)具有最小所述方程解的影響系統(tǒng)啟動(dòng)速度的程序。由上可以看出,在Android系統(tǒng)重啟時(shí)通過(guò)禁止所有啟動(dòng)影響系統(tǒng)啟動(dòng)速度的程序可以獲得最佳的系統(tǒng)啟動(dòng)速度;在Android系統(tǒng)重啟時(shí)啟動(dòng)具有最小所述方程解的影響系統(tǒng)啟動(dòng)速度的程序可以在重啟速度和程序使用便利性上獲得折中的效果。在上述方法中,所述步驟C還包括篩選并記錄下除上述影響系統(tǒng)響應(yīng)速度的程序之外的其他程序;篩選并記錄下在Android系統(tǒng)重啟前最后運(yùn)行的程序;所述步驟D還包括啟動(dòng)除上述影響系統(tǒng)響應(yīng)速度的程序之外的其他程序;啟動(dòng)Android系統(tǒng)重啟前最后所行的程序,而暫不啟動(dòng)除此之外的其他程序。由上可以看出,在重啟Android系統(tǒng)時(shí)啟動(dòng)除上述不啟動(dòng)的程序外的、在重啟前所記錄的其他的所有程序,可使手機(jī)恢復(fù)到運(yùn)行導(dǎo)致其性能變得響應(yīng)遲鈍的某程序之前的狀態(tài);在重啟Android系統(tǒng)時(shí) 啟動(dòng)重啟前所運(yùn)行的最后的程序,而暫不啟動(dòng)其他程序,可以使有較多的資源(CPU、內(nèi)存資源)提供給該程序使用,并在用戶關(guān)閉該程序時(shí),啟動(dòng)所述其他的程序,使手機(jī)恢復(fù)到手機(jī)重啟之前運(yùn)行上述最后程序之前的狀態(tài)。在上述方法中,在所述步驟Cl之前還包括根據(jù)所述Android系統(tǒng)信息判斷Sumcpu是否大于Sumcpu閥值或Summem
是否大于Summem閥值亦或Sum iowait是否大于Sumiowait閥值如果上述任一不等
式成立,則進(jìn)入所述步驟Cl ;否則,退出所述步驟c并跳過(guò)所述步驟D完成重啟過(guò)程;在上述方法中,所述Sumcpu閥值為70 %,所述Summem閥值為80 %,所述 Sumiowait閥值為 50% ;所述CPUpi閥值為30%,所述MEMpi閥值為30%,所述IOWpi閥值為20% ;所述第一范圍為大于等于1且不小于3,所述第二范圍為大于3 ;所述給定數(shù)量為3 ;所述Xcpu、λ mem 禾口 Xiow 分別為 1,0.6 和 0.3。在上述方法中,在所述步驟A之前還包括觸發(fā)Android系統(tǒng)的重啟操作。
圖1為本發(fā)明提供的一種Android系統(tǒng)的重啟方法流程圖。
具體實(shí)施例方式下面結(jié)合附圖,以應(yīng)用在手機(jī)上的Android系統(tǒng)為例,詳細(xì)介紹本發(fā)明提供的一種Android系統(tǒng)的重啟方法。如圖1所示,本發(fā)明提供的一種Android系統(tǒng)的重啟方法包括以下三個(gè)主要階段 重啟Android系統(tǒng)前的準(zhǔn)備階段,重啟Android系統(tǒng)階段以及Android系統(tǒng)重啟后的后續(xù)階段。其中重啟Android系統(tǒng)前的準(zhǔn)備階段包括以下步驟步驟100 觸發(fā)Android系統(tǒng)的重啟操作。由于在手機(jī)Android系統(tǒng)上運(yùn)行的程序(進(jìn)程)出現(xiàn)錯(cuò)誤等原因致使Android 系統(tǒng)運(yùn)行緩慢。此時(shí)為了恢復(fù)對(duì)于手機(jī)的順暢使用,需要重啟安裝于手機(jī)上的Android系統(tǒng)。在執(zhí)行本步驟之前,用戶一般可通過(guò)按動(dòng)手機(jī)的電源鍵來(lái)激活包括關(guān)機(jī)、重啟等選項(xiàng)的 Android系統(tǒng)關(guān)機(jī)管理菜單,進(jìn)而從中選擇重啟選項(xiàng)以觸發(fā)重啟操作。步驟200 采集當(dāng)前Android系統(tǒng)信息。在本步驟中,通常在重新啟動(dòng)Android系統(tǒng)之前,需要連續(xù)采集3s內(nèi)Android系統(tǒng)信息,即每隔50ms采集一次Android系統(tǒng)內(nèi)當(dāng)前各個(gè)程序占用CPU、內(nèi)存以及1/0請(qǐng)求的情況并將該情況保存下來(lái),共采集60次。重啟Android系統(tǒng)階段包括以下步驟步驟300 重新啟動(dòng)Android系統(tǒng)。^Ε^^μΜΦ, ^iffl kexec (kernel execution)Android 胃■白勺。 kexec 是一種可用于x86平臺(tái)上的Linux內(nèi)核的功能部件,是Linux內(nèi)核的一個(gè)補(bǔ)丁。使用kexec可以從當(dāng)前正在運(yùn)行的內(nèi)核直接引導(dǎo)到一個(gè)新內(nèi)核。在上述描述的Android系統(tǒng)引導(dǎo)過(guò)程中,使用kexec可以跳過(guò)整個(gè)引導(dǎo)裝載程序階段并直接跳轉(zhuǎn)到希望引導(dǎo)的內(nèi)核,而不再有硬件的重啟,不再有固件操作,不再涉及引導(dǎo)裝在程序,完全避開(kāi)了引導(dǎo)過(guò)程中最耗時(shí)的一環(huán)_固件階段。kexec這種功能部件為Android系統(tǒng)帶來(lái)的最大益處在于=Android系統(tǒng)可以極其快速地重新啟動(dòng)。由此大大減少了 Android系統(tǒng)重新啟動(dòng)引起的系統(tǒng)宕機(jī)時(shí)間。 kexec有兩個(gè)組件。第一個(gè)是用戶空間組件,叫做“kexec-tools”,第二個(gè)是真正的內(nèi)核補(bǔ)丁。在向Android系統(tǒng)內(nèi)核移植kexec時(shí),需要使用這兩部分實(shí)現(xiàn)kexec的兩個(gè)主要操作編譯“kexec-tools”包以得到kexec工具,并將內(nèi)核補(bǔ)丁加入到Android系統(tǒng)內(nèi)核樹(shù)中并重裝啟動(dòng)到它,便可容易地獲得一個(gè)啟用kexec的Android系統(tǒng)內(nèi)核。在向Android系統(tǒng)完成kexec的移植后,使用kexec重啟Android系統(tǒng)的過(guò)程包括(1)將重新啟動(dòng)到的內(nèi)核裝載到內(nèi)核中,然后;(2)真正重新啟動(dòng)到它。裝載內(nèi)核的語(yǔ)法如下kexec-l<kernel-image>__append =“ <command-line-options>“;在這里,<kernel-image>是重新啟動(dòng)后的內(nèi)核文件,<command-line_options>容納的是需要傳遞到新內(nèi)核的命令行參數(shù)。由于錯(cuò)誤的命令行選項(xiàng)可能會(huì)在重新啟動(dòng)時(shí)引發(fā)問(wèn)題,所以,確保合法值傳遞到重新啟動(dòng)的內(nèi)核的安全方法是傳遞“/proc/cmdline”的內(nèi)容。例如,如果希望重新啟動(dòng)的內(nèi)核映像是“/boot/bzlmage”,“/proc/cmdline”的內(nèi)容是〃 root = /dev/hdal ",那么裝載內(nèi)核的命令將是kexec-l/boot/bzImage-append ="root = /dev/hdal "。然后,為了真正重新啟動(dòng)已裝載的內(nèi)核,只需要輸入kexec-e, 系統(tǒng)將立即重新啟動(dòng)。不同于正常的重新啟動(dòng)過(guò)程,在重新啟動(dòng)之前,kexec不去執(zhí)行徹底停止系統(tǒng)。Android系統(tǒng)重啟后的后續(xù)階段包括以下步驟步驟400 根據(jù)上述Android系統(tǒng)信息,對(duì)所述系統(tǒng)內(nèi)的程序進(jìn)行篩選。設(shè)在步驟200中經(jīng)過(guò)3s、60次Android系統(tǒng)信息采集后的所有程序的總CPU占
用率為Sumcpu,平均CPU占用率為Sumcpu = Sumcpu / 60 ,總內(nèi)存占用率為Summem,
平均內(nèi)存占用率為Summem = Summem/60 ,總I/O請(qǐng)求率為Sumiowait,平均I/
0請(qǐng)求率為Sumiowait = Sumiowait/60。設(shè)每個(gè)程序的總CPU占用率、總內(nèi)存占用率和總1/0請(qǐng)求率分別為CPUpi、MEMpi和IOWpi,每個(gè)程序的平均CPU占用率、平均內(nèi)存
占用率和平均1/0請(qǐng)求率分別為CPUpi = CPUpi / 60、MEMpi = MEMpi / 60和
IOWpi = IOWpi/60,其中(i = 1,2,......η)。設(shè)cpu占用率、內(nèi)存占用率和I/O請(qǐng)求
率的權(quán)重分別為入cpu = 1、λ mem = 0. 6和λ iow = 0. 3。步驟400中的篩選的具體步驟如下1、首先判斷Android系統(tǒng)在重啟之前是否存在響應(yīng)遲鈍的現(xiàn)象,即如果 Sumcpu > 70%或Summem > 80%亦或Sumiowait > 50%,則認(rèn)定 Android 系統(tǒng)在重啟之前存在響應(yīng)遲鈍的現(xiàn)象,并進(jìn)入步驟2 ;否則,認(rèn)定Android系統(tǒng)在重啟之前不存在響應(yīng)遲鈍的現(xiàn)象并進(jìn)入系統(tǒng)完成重啟過(guò)程。2、判斷Android系統(tǒng)在重啟之前存在的響應(yīng)遲鈍現(xiàn)象是由哪些程序引起的,即判斷Android系統(tǒng)在重啟之前哪些程序占用的系統(tǒng)資源較多,包括分別判斷每個(gè)程序的CPUpi、MEMpi和IOWpi的大小如果某一程序的CPUpi > 30%或 MEMpi > 30%或IOWpi > 20% ,則將該程序標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序;否貝U,將該程序標(biāo)記為不影響系統(tǒng)響應(yīng)速度的程序。重復(fù)執(zhí)行步驟2的上述判斷過(guò)程,直至完成對(duì)所有程序的判斷之后,進(jìn)入下一步。3、判斷被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序的數(shù)量如果該數(shù)量大于1且不小于3,則將這些被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序作為影響系統(tǒng)響應(yīng)速度的程序(不推薦隨系統(tǒng)重啟而同時(shí)啟動(dòng)的程序)反饋給用戶,以建議用戶不要使這些程序隨系統(tǒng)重啟而自動(dòng)同時(shí)啟動(dòng);如果該數(shù)量等于1,則將這一單獨(dú)啟動(dòng)便會(huì)影響系統(tǒng)響應(yīng)速度的程序反饋給用戶,以告知用戶該程序消耗系統(tǒng)資源過(guò)大,不建議在當(dāng)前手機(jī)上使用該程序;如果該數(shù)量大于3,則將這些被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序的CPUpi、MEMpi和 IOWpi分別帶入方程CPUpi χ Xcpu + MEMpi χ ληιβηι + IOWpi χ Aiow ,從中選出方程解最大的3個(gè)程序作為影響系統(tǒng)響應(yīng)速度的程序(不推薦隨系統(tǒng)重啟而同時(shí)啟動(dòng)的程序)反饋給用戶,以建議用戶不要使這些程序隨系統(tǒng)重啟而自動(dòng)同時(shí)啟動(dòng)。此外,還可以統(tǒng)計(jì)Android系統(tǒng)重啟前不同程序的運(yùn)行次數(shù)/時(shí)間,通過(guò)設(shè)置運(yùn)行次數(shù)/時(shí)間的閥值,篩選出運(yùn)行次/時(shí)間在該閥值以上的程序作為常用程序(在下次重啟時(shí)可以優(yōu)先啟動(dòng))。此外,將既屬于影響系統(tǒng)響應(yīng)速度的程序又是屬于常用程序范疇內(nèi)的程序作為特殊程序篩選出來(lái)。步驟500 處理經(jīng)過(guò)所述篩選的程序。在本步驟中,可根據(jù)用戶的選擇(禁止/允許某些影響系統(tǒng)啟動(dòng)速度的程序隨系統(tǒng)重啟的同時(shí)自動(dòng)啟動(dòng))記錄下可以/不可以在系統(tǒng)重啟時(shí)自動(dòng)啟動(dòng)的影響系統(tǒng)啟動(dòng)速度的程序,從而實(shí)現(xiàn)重啟時(shí)禁止啟動(dòng)一些影響系統(tǒng)啟動(dòng)速度的程序,從而獲得最佳的系統(tǒng)啟動(dòng)速度。優(yōu)選地,在由步驟400判斷出影響系統(tǒng)響應(yīng)速度的程序后,可自動(dòng)將這些影響系統(tǒng)響應(yīng)速度的程序視為禁止在系統(tǒng)重啟時(shí)自動(dòng)啟動(dòng)的程序,以便在重啟Android系統(tǒng)時(shí)自動(dòng)關(guān)閉這些影響系統(tǒng)響應(yīng)速度的程序,以便實(shí)現(xiàn)Android系統(tǒng)重啟速度的最大化。但此舉可能會(huì)影響一些程序使用的便利性,例如在系統(tǒng)重啟時(shí)自動(dòng)關(guān)閉了需要經(jīng)常打開(kāi)但影響重啟速度的病毒監(jiān)控程序,那么在重啟后則需要手動(dòng)打開(kāi)該程序,此舉無(wú)疑會(huì)增加用戶的操作從而影響了該程序的使用便利性。優(yōu)選地,在由步驟400判斷出影響系統(tǒng)響應(yīng)速度的程序后,可自動(dòng)將這些影響系統(tǒng)響應(yīng)速度的程序中的某一個(gè)(例如在影響系統(tǒng)響應(yīng)速度的程序中產(chǎn)生最小影響即具有最小所述方程解的那個(gè)程序)視為允許在系統(tǒng)重啟時(shí)自動(dòng)啟動(dòng)的程序,以便在重啟 Android系統(tǒng)時(shí)僅自動(dòng)啟動(dòng)這一個(gè)影響系統(tǒng)響應(yīng)速度的程序,從而在重啟速度和程序使用便利性上獲得折中的效果。優(yōu)選地,在重啟Android系統(tǒng)時(shí)優(yōu)先啟動(dòng)所述常用程序 ,以便尊重用戶的程序使用習(xí)慣,避免為用戶帶來(lái)不必要的麻煩。優(yōu)選地,在重啟Android系統(tǒng)時(shí)啟動(dòng)上述特殊程序。
優(yōu)選地,在重啟Android系統(tǒng)時(shí)啟動(dòng)除上述不啟動(dòng)的程序外的、在重啟前所記錄的其他的所有程序,使手機(jī)恢復(fù)到運(yùn)行導(dǎo)致其性能變得響應(yīng)遲鈍的某程序之前的狀態(tài)。另外,也可以在重啟Andr oid系統(tǒng)時(shí)啟動(dòng)重啟前所運(yùn)行的最后的程序(即導(dǎo)致手機(jī)變得響應(yīng)遲鈍的程序),而暫不啟動(dòng)其他程序,以使有較多的資源(CPU、內(nèi)存資源)提供給該程序使用。并在用戶關(guān)閉該程序時(shí),啟動(dòng)所述其他的程序,使手機(jī)恢復(fù)到手機(jī)重啟之前運(yùn)行上述最后程序之前的狀態(tài)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種Android系統(tǒng)的重啟方法,其特征在于,包括以下步驟A、重啟前,采集當(dāng)前Android系統(tǒng)信息;B、使用kexec重新啟動(dòng)Android系統(tǒng);C、根據(jù)所采集的Android系統(tǒng)信息,篩選出影響系統(tǒng)啟動(dòng)速度的程序;D、有選擇地禁用或啟用影響系統(tǒng)啟動(dòng)速度的程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A包括 在指定時(shí)間內(nèi)周期采集所述Android系統(tǒng)信息并將該信息保存下來(lái);所述Android系統(tǒng)信息包括當(dāng)前各個(gè)程序占用CPU、內(nèi)存以及I/O請(qǐng)求的情況。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟C包括Cl、判斷Android系統(tǒng)在重啟之前每個(gè)程序占用的系統(tǒng)資源,包括分別判斷每個(gè)程序的CPUpi、MEMpi和IOWpi的大小如果某一程序的CPUpi大于CPUpi閥值或 MEMpi大于MEMpi閥值或IOWpi大于IOWpi閥值,則將該程序標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序;C2、判斷被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序的數(shù)量如果該數(shù)量在第一范圍內(nèi), 則認(rèn)定標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序?yàn)橛绊懴到y(tǒng)響應(yīng)速度的程序;如果該數(shù)量在第二范圍內(nèi),則將這些被標(biāo)記為可能影響系統(tǒng)響應(yīng)速度的程序的CPUpi、MEMpi和 IOWpi分別帶入方程CPUpi χ Xcpu + MEMpi χ Amem + IOWpi χ Mow ,從中選出方程解最大的給定數(shù)量的程序作為影響系統(tǒng)響應(yīng)速度的程序;其中,Sumcpu、Summem、Sumiowait分別是所有程序的平均CPU占用率、平均內(nèi)存占用率和平均I/O請(qǐng)求率;CPUpi、MEMpi和IOWpi (i = 1,2,......η)分別是每個(gè)程序的平均CPU占用率、平均內(nèi)存占用率和平均I/O請(qǐng)求率;λ Cpu、λ mem和λ iow分別為所述CPU占用率、內(nèi)存占用率和I/O請(qǐng)求率的權(quán)重。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟D所述對(duì)于影響系統(tǒng)啟動(dòng)速度的程序的處理包括在Android系統(tǒng)重啟時(shí)禁止所有啟動(dòng)影響系統(tǒng)啟動(dòng)速度的程序;或者, 在Android系統(tǒng)重啟時(shí)啟動(dòng)具有最小所述方程解的影響系統(tǒng)啟動(dòng)速度的程序。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟C還包括 篩選并記錄下除上述影響系統(tǒng)響應(yīng)速度的程序之外的其他程序; 篩選并記錄下在Android系統(tǒng)重啟前最后運(yùn)行的程序;所述步驟D還包括啟動(dòng)除上述影響系統(tǒng)響應(yīng)速度的程序之外的其他程序;啟動(dòng)Android系統(tǒng)重啟前最后所行的程序,而暫不啟動(dòng)除此之外的其他程序。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述步驟Cl之前還包括根據(jù)所述Android系統(tǒng)信息判斷Sumcpu是否大于Sumcpu閥值或Summem是否大于Summem閥值亦或Sumiowait是否大于Sumiowait閥值如果上述任一不等式成立,則進(jìn)入所述步驟Cl ;否則,退出所述步驟c并跳過(guò)所述步驟D完成重啟過(guò)程;
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述Sumcpu閥值為70%,所述 Summem閥值為80%,所述sumiowait閥值為50% ;所述CPUpi閥值為30%,所述MEMpi閥值為30%,所述IOWpi閥值為20% ;所述第一范圍為大于等于ι且不小于3,所述第二范圍為大于3 ; 所述給定數(shù)量為3 ;所述 λ cpu、λ mem 禾Π λ iow 分別為 1,0. 6 和 0. 3。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟A之前還包括 觸發(fā)Android系統(tǒng)的重啟操作。
全文摘要
本發(fā)明提供的一種Android系統(tǒng)的重啟方法,包括以下步驟A、重啟前,采集當(dāng)前Android系統(tǒng)信息;B、使用kexec重新啟動(dòng)Android系統(tǒng);C、根據(jù)所采集的Android系統(tǒng)信息,篩選出影響系統(tǒng)啟動(dòng)速度的程序;D、有選擇地禁用或啟用影響系統(tǒng)啟動(dòng)速度的程序。以實(shí)現(xiàn)快速重啟Android系統(tǒng)。
文檔編號(hào)G06F9/445GK102331947SQ201110312529
公開(kāi)日2012年1月25日 申請(qǐng)日期2011年10月14日 優(yōu)先權(quán)日2011年10月14日
發(fā)明者張琛雨 申請(qǐng)人:中科創(chuàng)達(dá)軟件科技(北京)有限公司