對(duì)于安卓手機(jī)而言,長(zhǎng)時(shí)間運(yùn)行難免會(huì)出現(xiàn)應(yīng)用卡頓、閃退等問(wèn)題,此時(shí)我們的第一反應(yīng)往往就是運(yùn)行手機(jī)的重啟操作。
而多年的實(shí)踐也證明,重啟是解決手機(jī)疑難雜癥屢試不爽的方法。但身邊也有一些執(zhí)拗的朋友,重啟操作用關(guān)機(jī)再開(kāi)機(jī)的方法替代,令人不解。
因?yàn)樯罱?jīng)驗(yàn),我們都順理成章地認(rèn)為手機(jī)重啟就是進(jìn)行一個(gè)先關(guān)機(jī)再開(kāi)機(jī)的操作,重啟=關(guān)機(jī)再開(kāi)機(jī)在邏輯上也說(shuō)得過(guò)去,但實(shí)際上兩種操作并不是一回事,并且有著明顯的區(qū)別。
為了進(jìn)一步解釋這個(gè)問(wèn)題,我們先來(lái)了解一下安卓手機(jī)的開(kāi)機(jī)過(guò)程。眾所周知,對(duì)于智能手機(jī)而言,所有的程序軟件包括操作系統(tǒng)都是運(yùn)行在RAM中的,而這些起初都是存儲(chǔ)在ROM中,因此開(kāi)機(jī)的實(shí)際上就是將ROM中的系統(tǒng)和程序加載至RAM的過(guò)程。
當(dāng)我們按下開(kāi)機(jī)鍵完成通電后,系統(tǒng)啟動(dòng)加載器(Bootloader)會(huì)率先加載,進(jìn)行硬件設(shè)備檢測(cè),包括GPU、內(nèi)存等硬件信息,并初始化硬件設(shè)備,隨后建立內(nèi)存空間的映像圖,為調(diào)用系統(tǒng)內(nèi)核準(zhǔn)備好環(huán)境。
接下來(lái)Android內(nèi)核就將正式加載,并開(kāi)始執(zhí)行根文件系統(tǒng)的程序,逐步將系統(tǒng)進(jìn)程加載完畢。
反觀重啟過(guò)程,實(shí)際上就是把Android主要進(jìn)程殺掉,即從內(nèi)存中移除,再重新加載根文件系統(tǒng)程序,再以正常的順序重新啟動(dòng)進(jìn)程,載入Android應(yīng)用,相當(dāng)于對(duì)部分系統(tǒng)進(jìn)行了重新加載,本質(zhì)上講這仍是一個(gè)系統(tǒng)級(jí)的行為。
不難看出,關(guān)機(jī)再開(kāi)機(jī)涉及到硬件的斷電,在開(kāi)機(jī)時(shí)需要對(duì)手機(jī)硬件的狀態(tài)進(jìn)行檢測(cè)和初始化,再加載所有數(shù)據(jù)。
而重啟操作并不涉及斷電,會(huì)使系統(tǒng)自動(dòng)跳過(guò)開(kāi)機(jī)時(shí)所需要執(zhí)行的硬件自檢、初始化步驟,并不涉及及硬件層面的操作,只是通過(guò)殺進(jìn)程達(dá)成軟件層面的重新開(kāi)啟。
由于步驟上的缺失,手機(jī)重啟所花費(fèi)的時(shí)間往往更短、所耗電量也更少。
但換個(gè)角度講,關(guān)機(jī)再開(kāi)機(jī)的操作因?yàn)槎嗔擞布詸z、初始化步驟,可以確保手機(jī)硬件的狀態(tài),特別是內(nèi)存,關(guān)機(jī)的斷電會(huì)使其中的信息全部移除,配合后續(xù)的初始化將內(nèi)存垃圾徹底清除,因此理論上關(guān)機(jī)再開(kāi)機(jī)的操作會(huì)使得卡頓的手機(jī)更為流暢。
可這并不意味著每每我們的手機(jī)遇到問(wèn)題都需要去用關(guān)機(jī)再開(kāi)機(jī)的操作去解決。
應(yīng)對(duì)一般的軟件體驗(yàn)問(wèn)題,比如應(yīng)用閃退、任務(wù)切換卡頓等問(wèn)題,手機(jī)中的重啟操作完全可以解決,但是遇到一些涉及硬件的問(wèn)題,比如指紋識(shí)別失靈、信號(hào)等問(wèn)題,還是建議采用關(guān)機(jī)再開(kāi)機(jī)的方法比較妥當(dāng)。
評(píng)論