iOS后台

上个月给小妹买了一台6s 她问我双击 Home 键之后 弹出的那些应用会不会耗电 我找到一篇文章 正好说的就是这个问题 摘要翻译一下

原文地址

http://www.speirs.org/blog/2012/1/2/misconceptions-about-ios-multitasking.html

非常多人以为「在 iOS 上双击 Home 键之后底部弹出的一栏应用是当前 iOS 全部正在执行(包含后台执行)的程序 它们仍然会占用内存并耗费电量 要最大化设备的性能 最好手动关闭它们 」

但这是错误的 其实这栏应用仅仅是「用户近期使用的应用列表」而非「全部正在执行的应用列表」 除非在特殊情况下 用户不须要去手动管理这个列表

iOS执行状态

iOS 应用有 5 种执行状态 各自是:

没有执行 - 应用处于终止状态 没有执行。

不活跃 - 应用处于前台 但不接受事件操作(比如 当前应用处于活跃时 用户进行了锁屏操作);

活跃 - 应用处于 “使用中” 的正常状态;

后台 - 应用没有显示在屏幕上 但仍在执行代码。

挂起 -应用仍然驻留在内存中 但不执行代码;

「不活跃」和「活跃」这两种状态比較清楚 这里须要讨论的是 当一个应用从「活跃」切换到「后台」 再到「挂起」 最后到「停止执行」这个过程中发生了什么

当你点击 Home 键时 应用会从「活跃」切换到「后台」 而且大多数应用会在几秒钟后从「后台」切换到「挂起」状态

「挂起」状态的应用仍留在内存中 这样当你返回这个应用时能够高速使用 但它们并不使用处理器计算 也并不耗电

你可能会觉得 假设应用停留在内存中 你须要以某种方式时结束它以节省内存 实际上不须要 由于 iOS 会自己主动帮你做到 假设有非常多应用停留在内存中 而你打开了一个非常占内存的应用 比方大游戏 iOS 会自己主动清理这些「挂起」的应用并将他们切换到「没有执行」状态 也就是把它们全然从内存中清除 下次当你打开它们时 相当于又一次打开这个应用

可能会让人们比較困惑的是:上述的全部情况都不会影响到你在多任务栏中看到什么 多任务栏中显示的仅仅是你近期使用的应用程序的列表 而不论这些应用是处于「后台」「挂起」或「没有执行」状态 你可能还会注意到了 当前正执行的应用并不出如今「多任务栏」中

多任务执行

当应用会从「活跃」切换到「后台」状态 大多数应用会在几秒钟内从「后台」切换到「挂起」状态 但应用也能够通过申明自己是「后台任务」来要求延长「后台」状态 举个样例 我用自己最喜欢的播客应用 Instacast 下载比較大的播客节目 当 Instacast 处于「活跃」状态时開始下载 假设点击 Home 键 Instacast 会在后台执行 5 秒钟左右 然后就进入了「挂起」状态 就会中断下载播客节目 这个节目可能须要 5 分钟甚至更长一点时间才干下载完

但 iOS 同意 Instacast 申明下载任务是「后台任务」 这样就能够获得额外的时间在后台执行 完毕下载任务 但应用申请额外的「后台执行」时间并非无限长的 一个应用能够获得 10 分钟的额外后台执行时间 然后这个应用会被 iOS 强制切换到「挂起」状态 所以 你自己仍然不用去操心

无限制后台执行

全部的 iOS 应用都有 5 秒钟的后台执行时间 有一些应用能够申请 10 分钟的额外后台执行时间 仅仅有非常少的一些应用能够真正不限时长的在后台执行

在 iOS 5 中仅仅同意 5 中应用能够不限制时长的在后台执行:

在后台播放音频的应用 比如 Instacast 在后台播放音频播客时;

在后台追踪地理位置的应用 比如 当你在使用其它应用时 仍然能够从 TomTom 导航软件收到语音提示。

在后台等候接收 VOIP 语音通话的应用 比如 假设你在 iOS 上使用 Skype 即便当前不在用 Skype 也能接收到语音通话请求;

「新闻报刊」中的应用下载的新的内容;

能够在后台持续从外接设备上接收更新的应用

近期才開始往github上放东西 在公司写的又不能放= = 大家姑且看看吧

github地址: https://github.com/FuThD

iOS后台解析的更多相关文章

  1. iOS 后台处理

    iOS 后台处理的常见用途 1.进入后台时候删除资源:应用处于挂起状态的时候所占用的资源越少,该应用被iOS终止的风险就越低.通过从内存中清理那些易于重新创建的资源,可以增加应用驻留内存的机会,因此可 ...

  2. JSON字符串——后台解析系列

    以前我们都是讲JSON字符串获取后,在前台进行展示.今天小编就交给大家后台解析展示数据的方法.非常方便,就以下代码: JObject obj = JObject.Parse(data); string ...

  3. iOS后台定位实现

    iOS后台定位实现 (2013-01-24 16:43:12)     工作中碰到一个定位的应用场景:app需要在后台运行,实时上传用户地理位置.   苹果对iOS的规范性在提升了app的品质的同时也 ...

  4. iOS 后台运行 类型

    iOS后台运行,需要有特定的类型才可以进行.这些内容并不是一直不变的,苹果也在逐步的更新这些内容. 本文内容是2015年11月03日时苹果支持的后台运行类型. 这是官方连接地址 其中较为重要的是下面这 ...

  5. iOS后台运行

    http://www.cocoachina.com/bbs/read.php?tid=149564 文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后 ...

  6. IOS 后台执行

    在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除.应用程序提供特定的服务,用户可以请求后台执行时间 ...

  7. iOS 后台运行实现 --备用

    文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间. 还有三种类型的可以运行在后以,1.音乐2.location 3.voip 文二 ...

  8. 【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)

    2.1  iOS应用解析(iOS App Anatomy) 几乎所有的iOS应用都会用到UIKit框架中的组件.了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策. UIKit提 ...

  9. iOS中解析 XML / JSON

    JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...

随机推荐

  1. javascript计算两个时间的差

    function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 startTime ...

  2. 【homework week5】初步了解敏捷开发——自由与约束的哲学统一

    “自由与束缚的哲学统一”或许不该放到标题上去,毕竟它只是我灵光一闪的感悟.但这个spark让我感到高中到大学的哲学应该也没有白学,这是让人非常兴奋的一件事. 所以我还是把它放到了标题上. 来谈敏捷软件 ...

  3. NSURLSession使用模板和AFNetworking使用模板(REST风格)

    1.NSURLSession使用模板 NSURLSession是苹果ios7后提供的api,用来替换 NSURLConnection会话指的是程序和服务器的通信对象//一.简单会话不可以配合会话(ge ...

  4. BZOJ 1877:[SDOI2009]晨跑(最小费用最大流)

    晨跑DescriptionElaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个 ...

  5. [CQOI2014][bzoj3504] 危桥 [最大流]

    题面 传送门 思路 这道题中惟一的特别之处,就在于"危桥"这一个只能走两次的东西 我的第一想法是做一个dp,但是这道题只需要能不能走,也没有必要 网络流?貌似是个很好的选择 我们把 ...

  6. SystemProperties反射调用

    Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用,只能通过java反射来调用 SystemPropertiesInvoke.java packag ...

  7. 多啦A梦的制作

    小叮当简单颜色单一,操作起来也很容易上手.接下来的一个实例就是用css画出一个多啦A梦,首先将其分为头部,和身体.然后,再根据身体各部分细节进行进一步的具体刻画. 由于最近一直在学习JavaWeb方面 ...

  8. HDOJ 1085 Holding Bin-Laden Captive!

    Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Ja ...

  9. 介绍一款可以滚动加载的插件droploader

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. DNS解析过程详解【转】

    转自:http://blog.chinaunix.net/uid-28216282-id-3757849.html 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www. ...