先明確壹個概念。我們通常所說的內存是指系統緩存,也就是“顯示力”軟件看到的“內存”。這種緩存通常相對較小,小於65,438+0兆字節。就是手機存放,存儲卡存放,機器自帶系統的程序運行時會用到的數據的緩存區。在手機存放,存儲卡存放,機器自帶系統和機器cpu之間交換數據的時候起到作用。這座橋往往是機毀人亡的罪魁禍首,平時的機毀人亡或多或少都與它有關。以後我們說的內存,就是這個“內存”而不是“手機存儲”。大家要註意!手機存儲相當於我們的電腦硬盤。在手機中,和存儲卡存儲壹樣,它只是壹個存儲設備,而不是內存(手機中壹個有趣的現象是,我們把自帶的存儲部分叫做機器內存,這確實誤導了很多人)。好了,我們明白了內存是什麽,接下來就來說說為什麽手機存儲空間不足會導致死機。
先舉個例子:還記得早些年的老電腦嗎!通常他們的硬盤都不是很大。當我們瘋狂的往裏面存東西,硬盤快滿了卻沒滿的時候(比如還剩100多兆空間),電腦是不是經常出現?沒錯,那就是藍屏。為什麽是藍屏?不是還有100兆可用嗎?這要從計算機存儲數據的原理說起:無論計算機運行的是什麽程序,都必須從硬盤中讀取這個程序所用到的相關數據並存儲到內存中,然後cpu會從內存中取出用於其計算的數據(這也要經過cpu自帶的壹級和二級緩存的“橋梁”)。壹級和二級緩存在內存條和cpu之間的作用和內存條在硬盤和cpu之間的作用是壹樣的,加速了數據交換)。從cpu讀取時,要知道cpu從內存條讀取數據比直接從硬盤讀取數據要快得多,大大提高了程序執行的速度。計算結束後,cpu將執行計算結果。比如計算結果是執行壹個指令:打開文件夾,那麽計算機就會顯示文件夾的內容。比如我們在輸入壹個文檔,計算機的cpu通過敲擊鍵盤計算出我們輸入的是什麽文本,於是它就把我們輸入的文本放在那裏,也就是內存裏,直到我們給它壹個命令“保存”我們輸入的文本,它就會把我們輸入的內容從記憶棒轉移到硬盤上。然而事實是,計算機能運行是因為cpu的計算。我們所有的動作,甚至是顯示器上的顯示,包括移動鼠標,都要經過cpu的計算和命令,而這些計算和命令的復雜而龐大的中間結果,往往被臨時存儲在記憶棒裏。只有當cpu認為內存已經無法加載,或者我們給電腦下了保存的命令,才會轉移到硬盤。在這個過程中,硬盤將壹直被存儲。這時候cpu就不得不抽出精力來時不時的檢測壹下硬盤上存儲的位置,這樣下次存儲的時候就可以從這個位置連接了。而當我們的硬盤快滿的時候,剩余的空間往往以碎片的形式存在,這就增加了cpu隨時檢測並存儲在硬盤上的難度。另外之前的cpu運行速度不是很快,內存庫也不是很大,所以這種轉儲要經常進行。這種大量的數據交換導致cpu瘋狂運行,可能會導致崩潰。這也是為什麽電腦經常在剩余空間不多的時候出現藍屏或者死機的情況。
嗯,說了這麽多電腦,無非是想把註意力吸引到我們的手機上來。前面說過,手機中的存儲和存儲卡存儲都是手機中的存儲設備,不是真正的“內存”,而是相當於電腦中的硬盤,真正的內存是不到1兆空間的“內存”(這個我們可以通過軟件“顯示電量”或者文件來看)說到這裏,我明白為什麽手機存儲空間不足的時候更容易死機了。智能手機系統和電腦windows系統相比上面電腦藍屏的相似之處就不用多說了。
大家都用OxiosHibernat,壹個釋放內存的軟件。有沒有註意到壹個很有意思的現象?就是不管在什麽情況下,不管妳的系統有多慢,不管妳在釋放內存之前用了什麽程序,只要妳點擊OxiosHibernat釋放內存,釋放的內存永遠不會超過888k。沒錯,因為“存儲內存”本身只有888k,怎麽可能釋放的比它多?我們著名的釋放內存的軟件,相當於電腦裏的內存和手機裏的內存,而不是手機裏的內存和內存卡。
操作不當導致的死機是可以避免的,除非妳沒有使用電腦的經驗。雖然是智能手機,但是無論是操作系統還是cpu都比不上電腦。因此,建議電話朋友在單線程中使用,程序正在執行時(出現“忙”符號時)最好不要做其他事情。例如,您的手機正在搜索卡片中的圖片。這時候妳按下其他按鈕,可能是想退出搜索,但是執著的電話壹定要搜索到底,雙方僵持不下。
環境溫度太低,導致撞車。
長期以來,環境溫度是否會導致墜機壹直是廣大機友爭論的話題。答案是肯定的,低溫確實能導致墜機!但是,這並不是手機的缺陷。反之,就是自我保護功能差。Windowsmobile2003操作系統具有檢測環境溫度的功能。我們使用的“溫度計”軟件依靠windowsmobile2003操作系統來檢測溫度。其實它只是讀取操作系統本身檢測到的溫度,並不是“溫度計”軟件本身就能檢測到硬件溫度。有人說“溫度計”檢測的是電池的溫度,這是片面的。其實就是在windowsmobile2003操作系統中找到可以判斷某壹部分硬件的電流和電壓的代碼,通過轉換來測量溫度。這個代碼是由硬件控制的,也就是說這個硬件的電壓對溫度非常敏感。這個硬件通常是cpu或者“緩存”(不是內存,也就是不是通常所說的手機存儲),當然有時候還有電池。這也是為什麽“溫度計”在壹些手機上可以用在windowsmobile2003上,而在壹些機友的windowsmobile2003SE上卻不能用的原因。原因是2003和2003SE在代碼段上有很大的區別。“溫度計”還在原來的位置找那個代碼,當然找不到了。即使是同壹個機器,如果換了另壹個品牌的電池,有時也會因為碼段的變化而無法讀取溫度。正是這種溫度變化引起機器內部的硬件電流或電壓變化,進而引起系統監控部分的反應。但由於軟件設計不完整,或許是設計中的壹批漏洞,又或許是設計者根本沒有考慮到,讓操作系統自生自滅,甚至“崩潰”達到耐溫,阻止機器繼續運行,這的確是系統設計者要解決的大問題!那麽為什麽windowsmobile2003操作系統要對低溫做出反應呢?不想說太多解釋,涉及到液晶的工作原理等。為了讓手機的LCD正常顯示,需要保證手機在壹定的溫度範圍內運行,所以操作系統必須對溫度進行監控。廣大機友可以親自做壹個實驗,在比較低的溫度下(比如5度以下)啟動機器。機器加載系統的屏幕出現後,系統會自動關機,拒絕啟動,實現自我保護。
相反,當溫度比較高的時候,比如高於24度,或者太陽直射屏幕的時候,機器的反應速度要高很多,屏幕的反應時間至少要縮短壹半。同時,顯示已經完成,沒有任何延遲!值得壹提的是,低溫導致死機的現象不僅僅發生在待機時間,在“飛行模式”下也會出現,所以拍“死亡”照片是不會錯的!
結論:手機再強,也要給它點溫度。當有壹次低溫導致墜機時,壹定會有第二次墜機,而且每次墜機的溫度都比上壹次高。上次墜機的高溫可能會讓妳難以忍受。尤其是北方的朋友,冬天更要註意。手機最好放在內褲外面,不要像農民壹樣掛在腰上。
待機期間無端崩潰。
現在輪到待機時無端死機的問題了。待機時的死機,大多是windowsmobile2003操作系統的軟件運行模式造成的。我們知道,我們的手機通常是用來打電話的,這也是windowsmobile2003操作系統的軟件設計人員優先考慮的問題。所以手機待機的時候,大部分手機資源都是優先給待機信號部分的。另壹方面,windowsmobile2003操作系統也要照顧好我們自己的DIY軟件,每隔壹段時間自動搜索我們安裝的軟件的信息,並通過cache(註“緩存”)做記錄,如果這個記錄又長又復雜,而操作系統又忙於與基站信號通信,就需要搜索機器信息並做記錄,這就可能導致待機時死機。這也是為什麽會出現OxiosHibernat這樣的軟件釋放內存(緩存)的現象。的確,當機器每隔壹段時間自動重新加載搜索到的信息,並且不釋放原始信息時,緩存(而不是手機存儲)空間越來越小,死機的概率增大!這種現象在少數手機上比較嚴重,但由於2003SE的使用和緩存的增加,這種現象有所減少。
那麽如何解決這個問題,其實大家都會,只是註意順序:壹、硬啟動,恢復出廠設置。然後安全運行7天,不安裝任何軟件,不插內存卡,溫度至少高於15度。(所謂安全運行是指中途不允許死機,這就要求關機時環境溫度不能低於15度,尤其是早上開機時,要保證機器的體溫高於15度。如果中間出現死機,就要硬重啟,重新計算天數。這樣做的目的是當windowsmobile2003操作系統搜索自己的軟件(在系統中)時,發現沒有“入侵者”,即沒有用戶自己安裝的軟件(在手機存儲和內存卡存儲中)並做出標記。這個標記完成後,當用戶在安全期後自行安裝軟件時,機器會再次搜索,它會從這個標記下方開始搜索,即只搜索手機的存儲和存儲卡的存儲,跳過對自帶軟件的搜索。否則,如果我們在硬啟動後立即安裝新軟件,那麽每次開機時,我們都認為有大量軟件是新安裝的,每次開機都會告訴自己有大量入侵者,這樣每隔壹段時間就會自動重新搜索所有空間中新軟件的信息,增加了機器搜索的負擔。結果往往壹開始就沒什麽問題。久而久之,我們安裝的軟件的使用,新的信息)就包含了每次使用的各種信息,而這些信息在手機裏往往會變成垃圾。大部分用戶經常發現手機內存變小了,就是這些信息造成的。不斷寫入原程序的記錄,當系統每隔壹段時間自動搜索時,負擔逐漸加重,最壞的結果就是待機時莫名其妙的崩潰。
安全期內,用戶要註意“測試機”。所謂“試機”,就是妳要在這七天裏經常使用機器,使用機器自帶的所有功能,比如“遊戲”、“快捷方式”和各種設置,增加系統對軟件的熟悉程度。
安全期過了,就可以插上內存卡,給內存卡和手機安裝軟件了。從此以後,機器每次搜索,其實都只是在搜索存儲卡和手機中的軟件信息,而會忽略對手機本身的搜索。我想在這裏強調壹下,有些沒有內存卡的手機也會死機,很大程度上是因為操作系統對軟件不熟悉。註意安全期的測試機,安全期過後壹定要把軟件安裝在手機內存裏。當我們按照上面的方法做,插上存儲卡,從文件管理器中可以看到多了壹個“storage card”storage card。從現在開始,機器不會主動搜索,所以開機後卡內安裝的軟件的所有圖標都會以相同的未識別標簽樣式顯示。只有我們給機器壹個刺激,命令它去搜索卡裏的信息,它才會去搜索。
我們可以做壹個實驗:先關機,再開機,按左軟鍵“開始”/“其他”/“其他”。妳會發現卡上安裝的所有軟件圖標都是無法識別的標簽樣式。然後按“Home”返回,再按“開始”/“其他”/“其他”。同樣,卡裏的軟件還是被貼上無法識別的標簽!沒錯,機器沒有主動搜索卡內的軟件信息,緩存內的軟件信息減少了。這樣的機器通常不容易死機,這就是我們的目的。那麽如何刺激機器去搜索呢?我們可以按“其他”到最後壹頁,進入“遊戲”,打開“淩雲有誌”玩,然後關閉遊戲,返回首頁。這壹次,我們來看看卡中安裝的軟件圖標。怎麽樣?圖標都變成了原來的臉。為什麽玩“遊戲”可以刺激機器再次搜索程序信息?首先,這是壹場大博弈;其次,這個遊戲是機器自帶的。當我們運行這個遊戲的時候,會占用大量的資源,也就是我們通常所說的空間。這個“空間”當然包括“緩存”,所以當大量數據進來的時候,機器就要把原來搜索的程序信息清空,倒出空間全力以赴,保證遊戲的運行。遊戲結束,空間恢復,機器又要重新搜索已安裝的軟件信息。在此搜索中,安裝在卡中的信息被讀入緩存,圖標被恢復。
五
軟件問題
主要原因是手機軟件設計存在致命BUG,導致死機。比如手機運行壹個程序,如果子程序和主程序出現邏輯錯誤,每當手機運行到程序時就會出現指令錯誤,有點像電腦中的非法操作,然後就可能死機。軟件bug導致的崩潰,壹般來說有這樣壹個特點:每當運行壹個命令,也就是每次執行相同的操作,就會崩潰。如果手機總是這樣死機,可以初步斷定是軟件問題。解決這樣的死機,壹般可以通過升級軟件來解決。但這樣的升級只能升級軟件版本,升級後手機的功能不會改變,只是在升級過程中解決了壹些軟件bug。減少撞車的幾率。升級時對軟件不熟悉會造成手機不穩定。如果升級,請提前做好備份,防止手機升級失敗後軟件恢復。