系统内存不足导致死机
· 我们先澄清一个概念,我们通常所说的内存,是指系统的缓存,也就是用“显示电量”软件看到的“内存”,这个缓存通常比较小,不到1兆,它是手机储存、内存卡存储和机器自身系统中程序运行时即将用到的数据的缓存区,当手机存储、内存卡存储、机器自身系统和机器cpu之间的数据交换的时候扮演桥梁的角色。这个桥梁,却成往往为机器死机的罪魁祸首,通常的机器死机或多或少都与它有关。以后我们提到的内存,就是这个“内存”而不是什么“手机存储”大家要注意!手机存储相当于我们的电脑硬盘,在手机中和内存卡存储一样,只是存储设备,并不是什么内存(在手机中有一个有趣的现象,就是我们把机器自带的存储部分就叫内存,这的确误导了很多人)。好了,内存到底是什么我们明白了,接下来我们就说说手机存储空间不足为什么会导致死机。
· 先举个例子吧:还记得早些年的老电脑吗!它们通常硬盘都不会很大,当我们疯狂向里面存储东西,即将把硬盘塞满但还未满时(比如还剩100多兆空间),电脑经常出现的情况吗?对了!那就是蓝屏。为什么蓝屏呢?不是还有100兆可以用的吗?这就要从电脑的存储数据的原理入手:电脑无论在运行什么程序的时候,都要把这个程序要用到的相关数据从硬盘读出来,存到内存中,然后cpu再把它进行计算时用的数据从内存取出来(这里面还要经过cpu自带的一级二级缓存这个“桥梁”,一级、二级缓存在内存条和cpu之间所扮演的角色就相当于内存条在硬盘和cpu之间所扮演的角色一样,起到加快数据交换的作用),读到cpu中进行计算,要知道cpu从内存条中读数据要比从硬盘直接读数据快的多,这样就大大提高了程序执行的速度。计算完毕后,cpu就执行计算的结果,比如计算结果是执行一条指令:打开文件夹,那么电脑就会把文件夹里的内容显示出来。再比如我们正在输入一篇文档,电脑的cpu通过我们敲击键盘计算出我们输入的是什么文字,那么它把我们输入的文字放在那里了呢,就是放在内存中,直到我们给它一个命令,让它把我们输入的文字“存盘”,它才会把我们输入的内容从内存条中转储到硬盘上。然而事实是,电脑之所以能运行,都是由于有cpu的计算,我们一切的动作,甚至包括显示器显示,包括我们移动一下鼠标,都要经过cpu的计算和指挥,而这些计算和指挥的复杂庞大的中间结果,往往都要暂时存储在内存条中,只有cpu认为内存已经装不下了,或是我们给了电脑一个命令,命令它存盘,才会转存在硬盘上,这个过程中硬盘一直在告诉旋转,随时准备接受从内存转储过来的数据。而cpu这时还要抽出精力来时时检测存储在硬盘上的位置,以便下次再存储时从这个位置接上。而我们的硬盘在装的差不多快满时,往往那点剩余空间都以碎片形式存在,更增加了cpu时时检测存储在硬盘位置上的难度,加上以前的cpu运行速度不是很快,内存条又不是很大,这种转储就要经常进行,这种大量的数据交换造成了cpu疯狂的运算,弄不好就造成死机。这就是为什么电脑剩余空间不多时经常蓝屏或死机的原因。
· 好了,说了这么多电脑,无非就是要抛砖引玉,把话题引到我们的手机上,前面说过手机里的存储和内存卡存储都是手机里的存储设备,不是真正的“内存”,只是相当于电脑里的硬盘,而真正的内存是不到1兆空间的“内存”(这个我们通过软件“显示电量”可以看到的,或者是文件管理器里的“系统信息”都可以看到)这个“内存”才是真正相当于电脑里的“内存条”。话说到这里已经很明白了,为什么手机存储空间不足时比较容易死机,smartphone系统和电脑windows系统的相通之处,对照上面的电脑蓝屏,不用再多说了吧。
· 大家都用OxiosHibernat这个释放内存的软件吧,有没有注意到一个很有趣的现象?那就是无论你在什么情况下,无论你的系统有多么慢,无论你在释放内存之前用了什么程序,只要你点击了OxiosHibernat来释放内存,被释放的内存从来都没有超过888k,这就对了,因为“存储内存”本身才888k,你释放的怎么可能超过它呢。我们这个大名顶顶的释放内存软件,释放的就是相当于电脑里内存条和手机里的内存,而不是什么手机存储和内存卡存储。
·
· 关于操作不当导致死机的情况是可以避免的,除非你没有任何使用电脑的经验。虽然是智能手机,但是无论是操作系统还是cpu,都无法与电脑的相比,所以建议机友最好要“单线程使用”,既最好在程序正在执行的时候(出现“忙”符号时)不要去干其他的事情,比如你的手机正在搜索你卡里的,这个时候你按了其他的按键,也许你是想退出搜索,但执着的手机非要搜索到底不可,双方僵持的结果常常是死机。
· 环境温度过低导致死机
· 长期以来关于环境温度是否能导致死机,广大机友一直争论不休,答案是肯定的,过低的温度的确能导致死机!但是,这不是手机的缺陷,事实恰恰相反,这是一个并不高明的自我保护功能。windowsmobile2003操作系统具有检测环境温度的功能。我们用的“温度计”软件就是依赖于windowsmobile2003操作系统而检测温度的,实际上它是把操作系统自身检测到的温度读出来而已,并不是“温度计”这个软件自己能检测硬件温度。有人说,“温度计”检测的是电池的温度,这是片面的,它实际上是在windowsmobile2003操作系统里找到可以判断某部分硬件电流电压的那段代码,通过换算来测量温度的。而这段代码是受硬件控制的,也就是说这个硬件的电压对温度反应相当敏感,这个硬件通常是cpu或者是“缓存”(不是内存,即不是通常所说的手机存储)当然有时也是电池。这就是为什么“温度计”在有些手机上的windowsmobile2003上可以用,但在某些机友的windowsmobile2003SE上就用不了,原因是2003和2003SE在代码段上有很大区别,“温度计”还在原来的位置找那段代码,当然会找不到。即使是同一个机器,如果换了一块其他牌子的电池,有时候也会因为代码段的变化而读不出温度来。正是这种温度的变化引起机子内部的硬件电流或电压变化,电流或电压的变化又引起系统监测部分的反应,但是由于软件设计的不周全,也许是设计上的批漏,也许是设计师们根本没有考虑,让操作系统自生自灭,甚至以“死机”来达到对温度的对抗和阻止机器继续运行,的确是系统设计者应该解决的大问题!那么为什么非要让windowsmobile2003操作系统对低温有反应呢?过多的解释我不想多谈,这涉及到液晶的工作原理等等,为了使手机的液晶屏正常显示就必须保证手机在一定温度范围内运行,所以操作系统必须要对温度起到监测作用。广大机友可以亲自做个实验,在比较低的温度下(例如低于5度)启动机器,在机器装载系统的画面出现以后,系统检测到温度过低,会自动关机,拒绝启动,实现自我保护。
· 相反,在温度比较高的情况下,比如高于24度,或者是有阳光直接照射到屏幕上时,机器的反应速度要明显高得多,屏幕的反应时间至少要缩短一半,几乎按键的同时,显示已经完成,丝毫没有迟滞现象!值得一提的是,由于温度过低死机的现象不仅发生在待机时候,即使是在“飞行模式”下,照“死”不误!
· 结论:不管你的手机多么的坚强,一定要给它点温度。当由于温度过低造成死机有一次,就一定会有第二次,而且一次比一次死机的温度高,最后死机的温度的高的可能会让你无法忍受。尤其北方的朋友在冬季更要注意,最好把手机放在贴身内衣外面,不要象个农民似的把手机挂在腰间。
· 待机时无端死机
· 现在轮到待机时候无端死机的问题了。待机时死机,大部分是由于windowsmobile2003操作系统的软件运行方式造成的。我们知道,我们的手机通常是用来打电话的,这也是windowsmobile2003操作系统的软件设计师们优先考虑的事情,所以,在手机待机时,绝大部分手机资源优先分配给待机信号部分,而另外一方面,windowsmobile2003操作系统还要兼顾我们自己DIY的软件,要每隔一段时间自动搜索我们安装的软件的信息,并且要通过缓存来做记录(注意是“缓存”,就是前面说过的“存储内存”,不是“手机存储”)。如果这个记录很长,而且比较复杂,在操作系统忙于和基站信号联系的同时,又要搜索机器信息,还要做记录,就有可能导致待机时死机。这就是为什么会出现象OxiosHibernat这样的释放内存(缓存)的软件了,的确,当机器每隔一段时间就自动重新装载搜索到的信息,而原来的信息又得不到释放,缓存(不是指手机存储)空间越来越小,死机概率增加!这个现象在少数手机上比较严重,而由于采用的是2003SE,加上缓存增加,这种现象有所减少。
· 那么如何解决这个问题呢,其实大家都会,只是要注意先后顺序:首先,硬启,恢复出厂设置。然后在不安装任何软件、不插存储卡、温度起码高于15度以上的环境下安全运行7天(所谓安全运行,是指中间不允许出现一次死机现象,这样就要求在关机的情况下环境温度也不允许低于15度,尤其是在早晨开机时,一定要保证机器的体温高于15度。如果中间出现一次死机,就要重新硬启,重新计算天数),这样做的目的是windowsmobile2003操作系统在搜索自身自带的软件(在系统中)时,发现没有“入侵者”,也就是没有用户自己后安装的软件(在手机存储和内存卡存储中)而做一个标记。这个标记做好后,当过了安全期,用户自己安装软件时,机器再搜索,就从这个标记下面开始搜索,即只搜索手机存储和内存卡存储,而越过了对自带软件的搜索。否则,我们一旦硬启后马上就安装新软件,那么每次机器开机时都认为是新安装了大量的软件,每次开机时都会告诉自己有大量的入侵者,从而愚蠢的无限次每隔一段时间自动重新搜索所有空间的新软件的信息,增加了机器搜索的负担,其结果往往是,刚开始的时候还不出现什么问题,随着时间的推移,对我们对自己安装的软件的使用,新的信息)包括每次使用的各种信息,而这种信息往往成为手机中的垃圾,大多数用户经常发现手机内存变小了,就是这种信息造成的。不断被写进原程序的记录,系统在每隔一段时间自动搜索时,负担逐渐增加,最坏的结果是待机时莫名其妙地死机。
· 在安全期期间,用户要注意“考机”,所谓“考机”,就是你在这7天内要频繁地使用机器,凡是机器自带的功能,比如“游戏”,什么“快捷方式”,各种设置,都用一用,增加系统对软件的熟知度。
· 当安全期过后,才可以插上存储卡,才可以向存储卡和手机里安装软件。从这以后,机器每次搜索时,实际上只是在搜索存储卡和手机里的软件信息,而会忽略对手机自身的搜索。(在这里我再强调一点:有些没有安装存储卡的手机也死机,很大原因就是操作系统对软件的熟知度不够。要注意在安全期期间考机,另外一定要在安全期过后,才可以向手机存储里安装软件)。当我们按照上述方法做了,再插上存储卡时,从文件管理器里可以看到多了一个“storagecard”这个storagecard,从今往后机器是不会主动去搜索它的,所以所有安装在卡里的软件的图标,在开机后都会显示成同一个样子未经识别的标签样式。只有当我们给机器以刺激,命令它去搜索卡里的信息,它才会去搜索。
· 我们可以做个实验:机器先关机,再开机,按左软键“开始”/“其他”/“其他”,你会发现,所有安装在卡里的软件图标都是未经识别的标签样式。然后按“首页”返回,再“开始”/“其他”/“其他”,同样,卡里的软件怎么还是未经识别的标签标!这就对了,机器没有主动搜索卡里的软件信息,缓存里的软件信息量减少了,这样的机器通常是不容易死机的,这就是我们的目的所在。那么怎样刺激机器让它搜索呢?我们可以按“其他”按到最后一页,进入“游戏”,打开“凌云壮志”玩玩,然后关掉游戏,返回首页,这回再看看安装在卡里的软件图标,怎么样,图标全变成本来的面目了吧。为什么玩“游戏”就能刺激机器机器重新搜索程序信息呢?首先,这是个大型游戏;其次,这个游戏是机器自带的。当我们运行这个游戏时,就要占用很多资源,就是通常我们说的空间,这个“空间”当然就包括“缓存”,所以当大量的数据涌过来,机器就不得不把原来搜索到的程序信息清空掉,倒出空间全力以赴保证游戏的运行。当游戏结束后,空间恢复了,机器不得不重新搜索已经安装的软件信息了。这一搜索,安装在卡里的信息就被读进缓存了,图标的样子也就恢复了。
5
· 软件问题
· 主要是因为手机的软件设计上存在致命的BUG从而导致的死机例如,当手机运行一个程序的时候,如果在子程序和主程序之间存在一个逻辑上的错误的话,每当手机在运行到该程序的时候就会发生指令错误,有点象电脑中的非法操作,这时就有可能出现死机由于软件的BUG导致的死机,一般都具有这样的特征:每当运行到某一命令时,即每次进行同样的操作的时候就出现死机如果手机老是这样死机的话,就可以初步断定是由于软件的问题死机解决这样的死机一般进行软件升级就可以解决,不过,象这样的升级只能对软件版本进行升级,升完级以后手机的功能不会有变化,但是在升级中解决了一些软件的BUG,降低了死机的几率升级中对软件不熟这样就给手机造成了不稳定因素,如果做升级的话请事先做好备份,以免手机升级失败后软件不能恢复
欢迎分享,转载请注明来源:品搜搜测评网