充分了解你的手机系统(关于分区,系统,玩手机必看)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

APP2SD/APP2SD+?Ext2/Ext3?找不到退出键?内存老掉?怎么分区?进来看看就明白了

这阵子有很多人发帖或者群里问关于APP2SD+的,以及新手会疑惑的为啥很多程序都没有退出按钮,不知道改如何退出,我特地搜索整理了一下,献给大家。

首先为小白讲解一下APP2SD的含义

APP2SD中的“APP”指的是Android应用程序,“2”就是英文单词“to”的简写,“SD”指SD卡,合起来就是“把应用程序移动到SD卡”。

玩过塞班的会纳闷儿,为啥还要移到SD卡,因为塞班本来就是能直接安装软件到SD卡的,来到安卓会突然不适应。但是事实就是这样,Android2.2版本以前确实不能安装到SD卡,不光你郁闷,大家都郁闷,装不了太多软件游戏,于是国外的牛人搞出了APP2SD的概念,就是把程序装在SD卡上。后来谷歌推出Android2.2的时候吧这个概念整合到系统中了,于是出现了2种APP2SD,为了区别这两种APP2SD,这里重新定义一下概念:

①、APP2SD:Android2.2及其以上内置的APP2SD

②APP2SD+、国外牛人从Android1.5开始搞起来的APP2SD

这两种APP2SD有着明显的区别:

APP2SD: 直接把软件装在SD卡的Fat32分区上,这个分区就是手机连接电脑使用磁盘驱动器的时候看到的那个硬盘分区,这样做有2个很大

的缺点:

当使用磁盘驱动器模式的时候,SD卡被电脑独占,装在SD卡上的程序无法运行,会导致很多插件和软件消失

目前来说Android上面的软件并不是所有都支持APP2SD的,只有一部分可以装在SD卡上

APP2SD+: 通过给SD卡分区, 一个Swap分区(可选),一个Ext分区(安装软件的地方),一个Fat32分区。这种方式很好的解决了官方2.2系统自带App2SD的缺点,所有程序都可以装在SD卡上,在使用磁盘驱动器模式的时候也不会影响到SD卡上程序的运行。

其中Swap是用来扩展RAM的,就像Ext分区时用来扩展ROM 的一样,咱们小刀的512M ram已经够用了,不需要做这个。但是对于像G1这样的RAM很小的元老机,就迫切需要Swap一下。提到Swap 就不得不提一下Android的内存管理机制,这也是为什么Android的软件很多没有退出按钮的原因.和Windows等系统不一样,和Java的垃圾回收机制类似,Android系统有一个规则来回收内存。运行内存有一个阈值,只有低于这个值系统才会按一个列表来关闭不需要的东西。这个值默认很小(为了充分利用运存),所以你会看到可用内存经常掉的比较低。事实上他并不影响速度。相反,加快了下次启动应用程序的速度。这本来就是Android标榜的优势之一,人为地关闭进程,没有太大必要。

到这里有人会说了,那为什么内存少的时候运行大型程序会慢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进

程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,论坛上有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定,比如设定的过高的话,还没开多少进程就打到阈值了,就会有进程被强制关闭,ram得不到充分利用。附件我也放在下面了,供喜欢折腾的同学玩。

那么,进程管理软件有无必要?有,就是在运行大型程序之前,可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。

谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说android后台的原理,你就明白了。android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service。至于广播什么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个android的优点?

还有一个,为什么android应用看起来那么耗内存,我用过塞班,型号是诺基亚5320xm,也算是一代街机了,配置是,369MHz的

ARM11CPU,256M rom,128M ram,开机运存80M,这配置跟小刀比起来大家都懂的,但是运行起程序来丝毫不差劲,开20多个程序跟玩似地,有一哥们最多开到71个程序(地址:/thread-4370946-1-1.html,右上角带圈圈的都是正在运行的程序),是真正的同时运行,对这个我丝毫不怀疑他,自己用过,而且我还用它跑过win3.1,win95,win98(用DosBox)虽然很卡,但是能开机,能使用,画图软件等。对于Android,大家知道,android 上的应用是java,(不知道的现在也知道了……)当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存,所以安卓比塞班死机的几率小,我亲身体会。

以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。

顺便再扯一下为啥IPone这么流畅。这中间跟运存管理机制有很大关系,IPone是单任务系统大家都知道(IPone4上所谓的多任务后面会说),在执行一个程序时二者的步骤是相同的即:

1. 把主程式放到RAM 中

2. 在RAM 中执行程序

相关文档
最新文档