iphone 4后台模式设置教程(图文)

Backgrounder是个对系统行为影响巨大的程序,个人感觉那些越狱之后大叫越狱费电厉害的一大半是因为这个程序。而Backgrounder的设置又是无比的绕,不仔细想想是不大能搞清楚的,这个程序的设置是需要思考的。所以小弟我认真做了个教程,希望能够帮大家正确使用这个程序。所有的说明以IOS4为标准,更早的系统我没有用过,没办法帮到大家。

先用截图简单说明一下,然后后面再展开说明。

iphone 4后台模式设置教程(图文)_第1张图片
iphone 4后台模式设置教程(图文)_第2张图片
iphone 4后台模式设置教程(图文)_第3张图片
iphone 4后台模式设置教程(图文)_第4张图片
iphone 4后台模式设置教程(图文)_第5张图片

后台模式设置(Backgrounding method)

对于正确使用Backgrounder,最重要的就是对于IOS4原生后台模式的理解。这个问题Backgrounder自带的说明就已经讲得很清楚了。

IOS4提供的伪后台支持后台音乐播放,GPS定位,网络语音通话,以及任务完成。也就是说仅只有这四项工作可以真正在后台运行。所谓任务完成是指在程序退出的时候还有工作没处理完,比如保存进度存档,那么系统允许程序在后台继续工作,然后在完成保存进度之后停止运行。

除了上述四项后台功能,系统还提供一个程序快速切换的功能,这个功能也算是IOS4多任务的一部分。个人观点,这个功能是IOS4多任务中最先进最有用的功能。它让程序在最小化的时候仅仅是暂停运行,但并不释放内存,保持程序当前的状态,这样当你再次打开这个程序的时候,程序不需要重新从硬盘(闪存)中读出,不需要重新Load数据,而是瞬间恢复到上次退出程序时的状态,这个特性会给用户很强的多任务的感觉,仿佛程序从来没有退出过一样。而这个功能所花费的代价只是一块内存,而并不消耗cpu时间。什么意思呢?就是说快速切换并不比退出程序多耗一丝电,相反,由于再次打开程序的时候不需要读硬盘(闪存),它比退出程序再重新启动更省电!

关于程序快速切换,了解到这个程度还不够,我们还需要知道更深入一点才能正确地使用Backgrounder。

第一点是:为快速切换所保留的内存空间是可以被挤占的。IOS4是没有内存交换空间的,它不会像Windows那样把硬盘(闪存)虚拟成内存来建立一个对应用程序来说无限的虚拟内存空间。所以,在IOS4中,当前台程序内存空间不足的时候,系统会释放掉为后台程序保留的用于快速切换的内存,提供给前台程序使用。当然,如果所有能释放的内存都释放了,还不能满足前台程序的内存要求的话,系统会直接中止前台程序的运行,这就是我们为什么会看到有些程序运行中无故退出的原因。用于快速切换的内存可以被挤占这个特性是很先进的内存动态管理方式,特别适合于内存资源紧张的移动设备。这种内存管理策略的优点是在几乎不消耗任何额外的时间(CPU时间,程序在后台暂停)、空间(内存空间,可以被挤占)资源的情况下,可以提供一个性能优良的伪多任务环境。但是正因为快速切换的内存可以被挤占,所以它的缺点就是它不总是可用的。大家都有经验打开Safari的时候,有时能够直接显示上次退出时候的网页,有时候就需要重新载入,就是这个原因。

关于快速切换我们需要知道的另外一点是,在每个程序最小化的时候,系统都会给程序发送一个通知,告诉程序你现在已经被最小化了。这时候一个优雅、精良的程序会释放掉可以释放的一部分无关紧要的空间以节省内存,比如画面缓存。这个特性的意思是支持IOS4多任务的程序被快速切换到后台以后占用的内存空间会比在前台运行时少。Backgrounder的真后台的操作方式就是在程序最小化的时候不给程序发送这个最小化的通知,所以程序不知道自己已经在后台了,不仅是仍然占用和在前台时一样多的内存,而且还在继续运行,和在前台时一样烧电。而除了几个操作系统底层的精灵进程之外,所有程序在IOS4的原生后台状态下都是暂停运行的,不烧电的。不仅如此,就算是已经在后台的程序,如果它支持IOS4多任务,那么它在收到系统发出的内存不足通知的时候,它还可以继续释放更多内存。比如Safari,在刚最小化的时候,它是保留所有打开的网页的,之后如果系统发出内存不足通知,Safari就可以一个一个地释放已打开的网页所占用的内存。

好了,说了这么多,就是为了帮助大家正确选择Backgrounder最重要的一项选择:全局后台模式选择。对于这个选择,小弟只有一个推荐:原生模式。

下面就是global里的设置,是按照项目一个一个来的,红色部分有的是我加上去的,方便理解。还请大家仔细看完,会理解很多,我是受益匪浅啊。

第一项:(global里的 backgrounding的第一项 off)程序退出。上面已经说了,相比原生后台模式没有任何优势,两者都不会让程序在后台运行都不耗电,两者都不占内存(原生模式快速切换的内存可被释放),但是程序的退出和启动要比原生的快速切换多耗电且速度慢(你每次打开植物大战僵尸都要等那条草皮重新展开一次)。这里要顺便说一下,那些喜欢双击home键调出任务栏然后一个一个关掉任务栏上所有程序的同学,你们的这种偏执行为没有任何意义。

第二项:(global里的 backgrounding的第二项 native)原生后台。

第三项:(global里的 backgrounding的第三项 Backgrounder)真后台模式。这是Backgrounder的精华,是它存在的意义所在,但是也是很危险的选择。你需要时刻牢记的是,程序在真后台的时候在和前台时一样全速运行,一样刷新要显示的每一帧画面,除了背光,跟在前台的时候一样耗电。你更需要小心的是除了电,真后台的程序还跟在前台的时候一样在消耗流量!!!我的建议是:切勿在全局设置里面选择这一项。只有你真的需要一个程序在后台运行的时候才在覆盖设置里面添加你要的程序,然后选择这一项。别的程序选择真后台除了烧电以外没有任何意义,说不定还会让你错过很多东西:等你接完电话切回去一看,僵尸早就把你家铲了。

第四项:(global里的 backgrounding的第四项 auto detect)自动选择模式。这个模式的意思是:对于支持IOS4多任务的程序使用原生模式,对于不支持IOS4多任务原生后台的老程序启用真后台模式。我个人的看法还是不要选这一项,需要真后台的程序还是要在覆盖设置里面手动添加。因为你不知道哪些程序是不支持原生后台的,所以很容易某个老游戏糊里糊涂地就被真后台了,然后疯狂偷电偷流量,尤其是在菊花显示没有打开的情况下。

原生后台模式选项(Option for "Native")

第一项:(fast app switching)程序快速切换。不用说,一定要打开。如果关闭这一项,那么除了音乐、GPS、VOIP和任务完成之外就跟关闭后台没有区别了。

第二项:(even if unsupported)即使程序不支持快速切换也强行打开。对于这一项就要小心了,主要有两个问题。一是不支持原生后台快速切换的程序在打开这个Backgrounder提供的快速切换的时候不会主动释放部分内存,跟在前台时占用的内存一样。二是程序通过这种方式被快速切换到后台之后,如果所保留的内存被别的程序挤占的话,未保存的进度和工作会全部丢失。支持快速切换的程序不会出现这种情况,因为他们在收到最小化通知的时候就会自动存盘。所以,个人意见不推荐打开这个选项。

真后台模式选项(Option for "Backgrounder")

后台开关选项(Backgrounding state)

后台状态显示选项(Indicate state via...)

Miscellaneous

这几项都涉及到后台模式切换,而且比较绕,所以放到一起讲。

这几项之所以绕,是因为后台模式切换的问题Backgrounder的说明里面没有说得很直白清楚。

Backgrounder可以让我们在应用程序运行中通过Activator的手势或者按键在两种后台模式之间切换,但是具体是在哪两种模式之间切换很多人都没搞清楚。现在我们一共有三种模式:无后台模式(完全退出),原生模式和真后台模式(自动检测不算一个模式)。这三种模式的切换方式是:

1、对于设置为原生后台模式的程序,它会在原生后台和完全退出之间切换。原生后台的时候显示蓝菊花和N图标,完全退出模式时无菊花和图标。比如ipod程序,在切换到无后台模式之后一按Home键歌声就停止了,跟在任务栏里面手动关掉一个效果。

2、对于真后台模式的程序,可以通过真后台切换模式选项:Fall back to Native来选择是切换到完全退出还是切换到原生后台。我选择的是切换到原生后台,因为在我现在的理解中,无后台模式没有存在的价值。当然,既然作者做了完全退出的选项,说明完全退出还是有存在的意义的,只是现在我对IOS的理解还不深,还看不到其中的原因。

3、对于设置为完全退出的程序,则无法切换后台状态,只能完全退出,没有选择。

4、有一种神奇的程序是完全无法后台的,不管你设成原生后台还是真后台,它们永远都不会在后台运行,这是因为它们被有意地设计成在最小化的时候就完全退出。这类程序也无法切换后台状态,也永远不会有后台图标或者菊花显示,因为它们永远不会在后台运行。我对装软件这种事情是很谨慎的,尤其是修改系统的软件,不是我需要的我绝对不会装,我这年纪的人已经没有那么大好奇心了。所以这类程序我还没有遇到过,但是Backgrounder的作者在FAQ里面是有提到的,我理解可能是出于安全原因吧,比如网银程序之类。这类程序要是后台了然后你手机被偷了你就仆街了,所以我想一到后台就退出这种设计是很有存在的意义的。另外说一下Cydia,回帖里面有同学说Cydia是可以后台的,我试了一下,用真后台模式确实是可以后台的。之所以我之前以为是不能后台的,是因为目前Cydia还没有为IOS4更新,所以不支持原生后台模式。另外Backgrounder的作者说Activator的作者在他的程序中有意屏蔽了Cydia,所以在Cydia运行的时候无法切换后台模式,具体原因不详。以上两点导致了我的误解,大家对Cydia打开真后台并且打开Enable at launch就可以后台它了。

后台开关选项用于定义程序打开和最小化程序时的后台状态。这两个选项相当绕,个人觉得作者应该改进这两个选项。为了说清楚这两个选项,我必须先说Minimize on Toggle。

Minimize on Toggle的意思是在切换后台模式的时候最小化程序。作者做这个选项的意图是为了让你有两种退出程序的方法。比如说按照缺省设置:长按Home键切换后台模式,那么如果Minimize on Toggle打开了,你就可以短按Home键关闭程序(或者最小化到原生后台),长按Home键让程序真后台(打开真后台,同时最小化)。如果Minimize on Toggle关闭,那么你可以在程序运行时切换到你想要的后台模式,然后再按Home键最小化程序(需要Stay Enabled打开)

Enable at Launch决定程序打开时候的后台状态。

Stay Enabled表示是否要在程序最小化的时候保持后台开启,这个选项相当蛋疼,因为如果不打开这一项,不管你在程序运行的时候切换到了什么后台模式,一按Home键全部关闭。所以如果这一项关闭了,那么Enable at Launch就没有意义了,反正最小化的时候后台都得关闭。而且Minimize on Toggle关闭也没有意义了,解释起来实在费劲,你们懂的~~~这个选项需要关闭的唯一一种使用方式就是配合Enable at Launch关闭,Minimize on Toggle打开。在这种情况下,程序打开的时候后台总是关闭的,然后你短按Home键正常关闭程序,长按Home键(或者你自己设置的切换手势)最小化程序到后台。如果你不是这种使用方式,那么这一项应该一直保持打开。

最后说说状态显示。因为我自己的全局后台模式是原生后台,所以我菊花(Badge)显示是关闭的,如果打开的话,会看到满屏的菊花,相当蛋疼。所以菊花显示只适合于全局后台模式是退出的那些同学。图标的作用是在程序运行的时候可以知道当前的后台模式,如果你打开了Minimize on Toggle,用两种不同的方法关闭程序,那么图标可以关闭。我自己的习惯是关闭Minimize on Toggle,现在程序运行的时候就设置好后台模式,然后按Home退出,这样的话就最好打开图标。

针对单独程序的覆盖设置和全局设置相同。如果你全局设置里面的后台模式是原生模式的话,覆盖设置里面缺省的电话、短信等那四项可以全部删除。

你可能感兴趣的:(iphone 4后台模式设置教程(图文))