在背景中

我有之前写的关于哪些应用程序可以在iPhone的后台运行,但我收到了一些关于它的电子邮件以回应这个脚注在我上周的“恐惧片”中:

Even if Apple were to come to its senses and allow third-party developers to write competing email clients, the built-in Mail app would hold one significant technical advantage, which is that it runs in the backgroundIn fact, background processing is the one factor that unites the four dock appsPhone, Mail, Safari, and iPod all continue running in the background; no other apps, including those from Apple, do.

每个人都知道iPhone SDK还不允许第三方应用程序在后台运行但令人误解的是,Apple的其他几款内置iPhone应用程序似乎都在后台运行日历事件提醒和传入的SMS消息在系统范围内显示弹出警报即使您关闭了Clock应用程序,Clock应用程序的计时器和闹钟也会继续运行。

但正如我在三月份写的那样,这些应用程序--Cocoa Touch应用程序本身 - 不会在后台运行他们通过其他方式发布和设置通知,通过iPhone SDK提供的系统级OS服务(据我所知)。

另一个例子是App Store应用程序其图标徽章会更新,其中包含您已安装的应用程序可用的更新数量此图标徽章会自动更新,无需启动App Store应用程序我很确定Apple是通过WWDC上宣布的推送通知系统来做到这一点的,但是还没有出现在公共SDK中。

该系统在后台运行,Apple的一些应用程序以SDK中没有的方式利用这些功能,但在后台运行的唯一Cocoa Touch应用程序是Phone,Mail,Safari和iPod。

我相信电话一直都在运行,原因很明显(如果是电话应用程序发布传入的SMS消息警报,我不会感到惊讶。)邮件在后台运行以允许定期新消息检查iPod应用程序在播放音频时仅在后台运行Safari并不是真的在后台运行任何东西,但在关闭后它仍然保持运行状态,这样当你回来时,你已经加载到标签页的网页仍然被加载通过保持活动状态,激活也需要更少的时间。

iPhone(和iPod Touch)只有128 MB的RAM,而WebKit可以使用大量内存当内存变紧时,系统会向正在运行的应用程序发送低内存警告,告诉他们清除它们可以执行的操作最终,系统将开始强制应用程序退出以释放更多内存这就是为什么有时当您重新启动Safari时,它会记住URL,但必须为所有打开的网页重新加载内容 - 这就是当Safari在后台运行时被要求退出时会发生的情况。

以前: 害怕
下一个: iPhone 3G