欢迎光临GGAMen游戏资讯




[转贴]iPhoneOS4.0:虚假的多工?聪明的多工?

2024-11-25 212

2010年四月八日,Apple宣布iPhone OS 4.0支援”多工作业”,不过这个多工作业,却不是一般的多工作业。 用Apple官方的说法:”iPhone OS 4’s new multitasking offers users a new way to quickly move between apps, and provides developers seven new multitasking services to easily add multitasking features to their apps.”(注)--iPhone OS 4的全新多工作业方法,能让用家快速地从软件之间切换,并为开发者提供七个多工的服务,让开发者能加入多工作业特征于它们的软件里。

 对,细心一点看的话--这其实与真正的多工作业有点不同。但是,永远有些傻兮兮的媒体断章取义,看过标题,不明细节,就直接在文稿写入--iPhone OS 4.0支援多工作业。

WHAT IS MULTI-TASKING? 

究竟iPhone的多工作业有什么不同?简单来说--它不是多工作业。

什么是多工作业呢?其实多工作业并不是真正的同时系统作业(特别是对于单核处理器而言),而是靠处理器在不同的应用程序下快速切换下的结果(注)。真正的多工作业,是需要取得操作系统的权限,让软件在退出后仍然可以调动处理器的执行绪(Threading)。

怎样才是真正的多工作业?就是当你在玩Street Fighter 时,控制着RYU与KEN战斗时,突然有电话进入--当你使用电话的途中,你的RYU就会退到背景运作,然后就会被Ken海扁,吃KEN的昇龙烈破,然后当你谈完2分钟的电话回到Street Fighter时,你发现RYU早就被干掉、或是游戏老早就Time up了。

IPHONE’S  MULTI-TASKING?

那iPhone的又有什么不同?有。一向以来,iPhone从来都不容许任何Apps取得iPhone OS的主导权限, 也不容任何Apps取得执行绪的控制权,所有的Apps都是在一个类似沙盒的空间上运作。这样做法虽然不能让Odin进行真正的多工作业,但它的最大好处是能防止任何不明来历的软件(包括病毒),静静地在iPhone背后运作、偷取资料、自我复制、甚至是大量占用系统资源,以至拖跨整个系统。 

同样地,iPhone OS 4.0也不会把Apps的权限提升到可以在系统背景里操控处理进程的程度--而是透过一些既有系统接口(API)分给第三方Apps,把这些App部分既有服务导入iPhone OS既有的背景服务之中。 

  • Background Audio以往iPod App拥有独有的接口,让它可以进iPhone OS的背景中播放音乐,iPhone OS 4.0则把iPod的这个系统接口分给其它软件。
  • Background Location:GPS模组一向都可以在背景运作(MobileMe的Find You iPhone就是这样运作),4.0只是把GPS系统接口让给Papago等定位软件,并同时使用Background Audio去协助你做Turn-by-turn定位而已。
  • Push(Local) Notification/Voice IP:Push Notification(推送通知)这个不用说了,它早就是iPhone OS 3.0新增的背景运作系统,也有系统接让Apps利用推送通知Notification制造一种假多工的效果。而Voice IP就是利用Push Notification和Background Audio配合而成的系统;而Local Notification就是Push Notification和Background Location的合体,对,也是上述系统的结合运作而已。
  • Task Completion:Safari早就有背景下载的权限,现在只是利用系统接口接上第三方软件,让其它Apps都可以享有Safari一样的背景上、下载权力
  • Fast App Switching:只是把退居背景的Apps变成睡眠状态,并在不使用处理器的情况下冻结于内存里,在需要时能快速回复工作状态(类似Windows的Stand-by)。

透过上述系统接口的协助,Odin就可以在发Twitter的同时接听Skype电话,也可以在玩游戏的时候下载更新--情况就像”真正”的多工作业一样。然而,为什么说iPhone OS 4.0不是真正的多工?

事实上,它并没有破例地让Apps在幕后执行(Exective),在背景的只有两种:

1. 是服务(Services)而不是程序(Programs):只有音乐或GPS在运作,而不是Apps;

2. 是冻结了的程多而不是运行中的程序:在唤醒该程序之前,它是不会有任何动作的。

 

简单来说,如果说真正的多工作业是当我们在接听电话时,RYU就会被KEN海扁的话,那iPhone OS 4.0的多工就是当Odin接听电话时,RYU和KEN都会被定格,KEN的昇龙烈破还在半空,被昇起的RYU还是一脸痛苦、被烧焦了的样子,而计时表还可能是停在99秒--顶多是Street Fighter的背景音乐会继续播放而已。 

对,原来这些软件退到背景后,并不会继续运作--举例说:Papago会在Odin去到不同的地方时,就会即时显示该处的地图,但是,当Papago退到背景时,软件将不会显示该处的地图,直至Odin重启你的Papago,它才会把你所身处位置的地图读取出来。所以,我们不能一边看电子书,一边把SIMCITY退到幕后来继续储蓄金钱时,;也不能一边录音/录影的同时、一边又发个SMS。原理上,它的运作与Android有点相似,但它把Android更彻底,因为iPhone基本上是没有改变过目前的背景运作政策,仍然不容许第三方软件在背景运作。

对,它只是把既有的服务优化而已,这就是iPhone OS 4.0的多工真相!

不过,虽然它不是真正多工,但会比真正多工要差吗?不会。因为,差不多90%的多工作业都能在这个”伪多工”中完美地重现,剩下的10%也不是必须的。“伪多工”反而带来什么好处?

 

  1. 没有Apps在背景运作,就能减少处理器的使用负荷,不但能提高系统速度,也能避免系统超载而崩溃;
  2. 当系统低负荷时能确保没有背景在同时运作,能进一步减少处理器的耗电量;
  3. 没有软件在背景偷偷的运作,能完全隔绝病毒、恶意软件及蠕虫的攻击;

 

本文引用 原出处

2018-02-01 07:44:00

标签:   游戏头条 资讯头条 ggamen科技资讯 ggamen科技 ggamen科技资讯头条 科技资讯头条 ggamen游戏财经 新闻网 科技新闻网 科技新闻 ggamen ggamen游戏新闻网 科技新闻 科技新闻网 新闻网 科技资讯头条 ggamen科技资讯头条 ggamen科技 ggamen科技资讯 资讯头条 ggamen ggamen游戏新闻网 科技新闻 科技新闻网 新闻网 ggamen游戏财经 ggamen科技资讯头条 ggamen科技 资讯头条 游戏头条
0