# iPhone OS 4\.0：按需定制的“多任务”

- 作者：聂云宸
- 发布时间：2010-04-12 11:06
- 分类：公司
- 原文：https://www.ifanr.com/9522

By 聂云宸 [@nycthink](http://twitter.com/nycthink)，转载请注明 ifanr.com。

> 注：本人尚未使用过 iPhone OS 4.0，本文更多是基于发布会等一系列有关 OS 4.0的信息产生的推测与感想。欢迎大家讨论拍砖~

[![](https://s3.ifanr.com/wp-content/uploads/2010/04/33331.jpg "iPhone OS")](http://www.ifanr.com/9522/3333-2)

在 iPhone OS 4.0发布后的记者提问环节，有记者问到多任务时怎样关闭后台程序，乔布斯说：

> 正如在 iPad 上如果出现了触控笔就杯具了，在多任务下如果出现了任务管理器，同样是杯具。用户不需要去考虑任务管理器这个概念。

乔布斯说出了苹果对任务管理器的看法，但他没说出的是：用户甚至同样不需要知道什么是多任务。

**需求**

 用户的需求用户自己最清楚，他们不会像专业人士一样分析功能配置、关注开放与封闭、或是因为苹果的审核制度愤愤不平，很多用户甚至不清楚多任务究竟是什么。他们需要的，只是一件能满足自己的需求产品。

而多任务不像听歌，上网，并不是一种独立的需求。人们为了听歌而去听歌，为了上网而去上网，但恐怕没什么人会为了多任务而去多任务。

所以，多任务并不是时时都需要的。那么一般情况下，什么时候大家需要用到多任务呢？

**场景一**

在 iPhone 上进入大名鼎鼎的 Pandora，或是国内的豆瓣电台。恩，它又体贴的为你推荐了不少歌，听听还真是不错。但听歌时总要做些其他事吧，于是你一按 Home 键。杯具了，音乐嘎然而止。

但 OS 4.0不会再让这种杯具发生。调用7个 API 中的后台音乐 API，即使离开程序，音乐依然在播放，你可以尽管做其他事。

**场景二**

一边欣赏着音乐，打开 tweetie 或是新浪微博看看有什么新动态。谁知道那帮人会在什么时候说那么几句呢。但也不能守在程序里守株待兔吧。于是你不得不每隔一段时间又重新进来查看下有没有新动态了。

而在OS 4.0下，程序只需调用推送API就可以了。推送在 OS 3.0里早已出现，但现在新增加的本地推送不需要再经过 Apple 的服务器，无疑使国内的广大越狱用户能更稳定的使用到推送。

好的，现在无论是 Twitter 还是微博，有了新消息便直接像来短信那样推送给你。不用再神经质的定时打开看看，正如你绝不会定时打开短信程序看看有没新短信。

**场景三**

在国内即时通讯是如此强大以至于你很难不用，上 QQ 早已成为很多人的习惯。但以前单任务的 iPhone 上的 QQ 和微博一样，除非你什么也不做守在程序里，不然很难知道新消息。别人找不到你，等你上时别人又下了，Orz。

没错，即时通讯也可以像微博那样调用推送 API，便可以解决收消息的问题，但这还不够。

即时通讯的服务属性决定了他的快速性，就算你收到了消息，然后登陆，再从众多好友中找出那位，回了消息退出做其他事，有了回应又要登陆从众多好友中找出那位再回消息…这样的聊天恐怕你辛苦，对方等的更辛苦。

但还有第二个 API 可以调用，快速切换 API。调用这个 API 使得程序即使退出也会保存当前状态暂停，当你需要唤醒时应用将自动返回之前的进度。这样，当有新消息推送来，你重新打开 QQ，QQ 立刻显示着你和好友刚刚的对话界面。回复好友后直接退出，在好友的回应推送来以前可以做些其他事。

**场景四**

很多程序的缓冲或是资源上传下载都是在考验你的耐心，但你只能对着它等待。

而OS 4.0不同了，只要程序调用后台运行 API，你便可以先退出做其他事。不用再盯着界面无奈。

**场景五**

你正在玩游戏，有新 Tweet 推送来了，返回桌面再进入 tweetie？这也正是 WP7 的广告中嘲笑 iPhone 的方面。不，直接双击 Home 键，底下便出现一栏打开过的程序图标，点击 tweetie 的图标即可快速切换。

OS 4.0发布后，很多人就像那位记者一样产生了疑问：怎样关闭后台呢？奇怪的是使用后不少人又发现，原来可以关闭的。只不过要一个个长按关闭，很不方便。苹果为何要让关闭进程如此不方便，并且声称不能关闭呢。

我猜想双击 Home 键后出现的根本不是后台程序，不过是刚刚打开的程序图标。正如很多试用者发现的，现在的程序还没用使用后台 API，根本不能后台也都会出现在里面。并且点击后程序是重新启动而不是刚刚的状态。

所以，苹果很可能只是提供了一个快速切换程序的方式，这根本不是一个任务管理器。和乔布斯说的一样，其实 iPhone OS 4.0里没有真正意义上的任务管理器。

**更多的场景**

调用后台定位 API，GPS 可以在后台定位提醒，不用一直对着 GPS 的画面了；如果你使用 Skype，可以调用 VoIP API 后台接听…… iPhone OS 4.0的7个后台 API 可以造就不少多任务的场景。

这些场景并不能概括多任务的全部运用，但大多数用户大多数情况下对多任务的需要也就是这些：后台 IM、后台微博、后台音乐、耗时的任务无需等待调至后台运行、不用回到主页快速切换程序….通过这7个 API 大多可以实现。

**按需定制的“多任务”**

正如很多人发现的那样，事实上苹果并没有完全允许真正意义上的“多任务”，很多任务 Home 键退出后依然不是正常后台运行，不过是调用苹果开放的7个后台 API 来实现一些后台功能而已。这也正是苹果为何有底气声称自己的多任务不会过分影响速度和电力。

苹果将用户对多任务的需求一条条剥出来，最后开放了7个后台 API。在并没有完全真正让程序后台运行的情况下，实现了苹果式的“多任务”。

这样的多任务，肯定不会满足所有人的所有需求。但却能在满足大部分多任务需求的情况下保持“多任务”与电力和速度的平衡。

当然，我们无需神话 iPhone。这种严格按需定制、甚至类似于阉割的多任务，更多当然也是对现在的 iPhone 硬件配置的一个妥协结果。

但产品的艺术，不正是各项元素之间的组合与妥协？
