网站后台程序开发的概念-理解iPhone iOS系统中“伪背景”的概念

我一直想了解iPhone的“伪背景”这个概念。 看到一些文章,就翻过来保存起来。 万一我以后想做iOS开发,理解一下就好了:)

说到iOS和Android的对比,大多数媒体/作者一定要加上“Android是真后台,iOS是伪后台”这篇文章。 确实Android才是真正的后台。 Service服务组件继续运行并在前台抢占CPU资源。 这也是安卓手机容易卡顿的症结所在。 还有很多证据证明iOS是“伪后台”,比如后台不会下载、多个网页之间切换需要重新加载等等,那么iOS真的是“伪后台”吗?

iOS 4以来的“伪背景”

从iOS3开始,Apple为iPhone引入了推送通知,无需启动应用程序即可接收推送通知。 其原理是通知由APNS(Apple Push Notification Service,Apple推送服务器)管理。 即使到了明天,APNS仍然像神一样存在。 ,以及Android中的各种刺痛导致无法接收Momo消息。 你一定经历过。

iOS 4时代的多任务管理界面

随着iOS 4的发布,iOS也开始具备多任务功能。 当点击Home键时,当前程序进入后台(iOS 4之前按下Home键直接杀死应用程序),后台应用程序以石碑的形式(退出前的状态)保存在显存,用户可以快速恢复。 不过,苹果对后台的限制非常严格,只有一些特殊的应用程序才能真正在后台运行,比如音频播放、VoIP、报刊亭、位置服务等。

如果你不做任何配置,你的应用程序最多只能在后台运行 5 秒,然后就会被挂起(存储在显存中但不运行)。 如果配置后台运行(如果需要下载),进程停止时大约需要594秒(9.9分钟),程序也会暂停。 一旦系统需要显存,就会杀死最早的后台进程来释放显存。

苹果的设计最大程度的保证了当前活动程序的系统资源,保证了手机的流畅度和续航。 同时,后台进程在几秒后基本暂停,因此后台的游戏进度不会受到影响。 更改、下载不得继续,提交到Appstore的各类APP也将受到严格审查,是否存在违规行为和处罚。 “伪后台”的尊称就是这样出现的。

iOS 7 之前的后台进程如何工作

网站后台管理系统开发_网站后台开发_网站后台程序开发的概念

在 iOS 7 之前,如果应用程序在后台运行,即使您处于屏幕保护状态,这些应用程序也会继续运行,并且您的 iPhone 会保持唤醒状态,直到后台应用程序完成任务或超时进入睡眠状态。

从2010年开始,iOS的这些多任务和后台管理已经持续了两年,经历了iOS 4、iOS 5、iOS 6三代,其间变化很少,称之为不夸张它是一个“伪背景”。 毕竟,直到 iOS 7 诞生之前,真正能在后台运行的还是非常非常有限的。

iOS 7,从“伪背景”到“智能背景”

在iOS的历史上,iOS 7绝对是一个里程碑。 或许大多数人只能看到UI从拟物化到扁平化的巨大变化,但iOS 7在后台管理方面的改进也是历史性的。 在 WWDC 2013 上,苹果对 iOS 7 的多任务改进进行了专门的会议说明,可见其重要性。 简单来说,iOS 7不仅改变了一些后台任务处理方式,还增加了一些新的后台模式。

网站后台管理系统开发_网站后台程序开发的概念_网站后台开发

iOS 7 之后后台进程如何工作

从iOS 7开始,一旦手机屏保,后台应用程序也会很快挂起(不会像以前一样一直运行直到任务完成或者超时),然后当系统被唤醒时(比如接到电话),那些暂停的后台应用程序也将继续运行。 这样做的好处是,系统不会因为后台运行的第三方应用而长时间被唤醒,有利于电池寿命,并且第三方应用会保留更长时间(虽然真正的活动时间相同)。

智能后台,适应用户使用习惯

目前的iOS后台管理已经相当智能了。 很多用户可能不知道这一点。 它会记住一些用户行为。 例如网站后台程序开发的概念,你要每天晚上打开应用程序A,中午打开应用程序B,晚上打开应用程序A,经过一段时间的记忆,iOS会在适当的时间唤醒或启动相应的A、B、A应用程序。早上、中午、晚上,改善用户体验。 Android 学习这些就够了。

除了这种后台操作方式之外,iOS 7还新增了三种后台模式,分别是Background Fetch、Silent Remote notifications和Background Transfer Service。

后台获取、后台应用刷新

后台Fetch(Background Fetch):iOS 7之前,必须打开App才能在线获取信息,而Background Fetch可以让App直接在后台获取信息。 例如,陌陌可以在后台手动更新朋友圈。

网站后台开发_网站后台管理系统开发_网站后台程序开发的概念

无声远程通知

静默远程通知(静默推送引发):以往收到消息后,打开应用程序后只能从APNS获取特定的推送消息。 现在有了无声远程通知,它变得更加人性化。 当收到消息时立即唤醒对应的APP,让APP在后台获取消息,然后通知用户,大大提高了用户体验。

后台传输服务:此前,下载一旦传输到后台,最多只能运行一段时间(最多10分钟)网站后台程序开发的概念,难以完成大量数据传输。 现在好了,所有的下载任务都将交给系统的独立进程来完成,无论APP在前台、暂停还是失败,下载都会继续。

以前是“伪背景”,现在是“智能背景”

需要强调的是,iOS 多任务界面中列出的应用程序只是最近使用过的,而不是后台的程序,Android 也是如此。

说iOS更早一点确实是“伪后台”,但那是两年前的事了。 随着iOS 7的出现,这一切都发生了质的变化。 我们也应该与时俱进,与其说它是“伪后台”,不如说iOS是一个“智能后台”。

苹果非常小心,采用了特别复杂的设计逻辑。 在系统安全性、流畅性和续航的基础上,最大限度地实现了真实后台的一些功能,如后台刷新、推送通话、后台传输等,特别是可以根据情况提前唤醒/启动一些常用的应用程序。符合用户的行为习惯,打开后不需要重新加载。 难道不应该夸它聪明吗? 而这种在未知的细节中追求完美,也正是iOS的魅力所在。