iOS 应用程序生命周期 4/3GS/iPad 与 2G/3G

2023-12-12

我读过苹果的文档关于应用程序生命周期并进行了一些测试以了解不同设备上的应用程序生命周期。 (除 2G 外均运行 iOS 4.x)

我已经测试了具有“多任务处理”功能的设备与一些不支持此功能的设备:

iPhone 2G/3G 应用程序生命周期:

(START)
- didFinishLunchingWithOptions
- applicationDidBecomeActive

(HOME PRESSED)
- applicationDidEnterBackground
- appWillTerminate

iPad / iPhone 4 应用程序生命周期:

(START)
- didFinishLunchingWithOptions
- applicationDidBecomeActive

(HOME PRESSED)
- appWillResignActive
- appDidEnterBackGround

(RESART app in the "Taskbar")
- appWillEnterForeGround
- appDidBecomeActive

我试图从“任务栏”杀死该应用程序,但调试器收到了 SIGKILL !当你以这种方式杀死和应用程序时会发生什么?

何时在支持“多任务”的设备上调用 appWillTerminate ?我的结果正确吗?

EDIT:

引用苹果文档中关于 appWillTerminate 的内容:

对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。但是,当应用程序在后台运行(未挂起)并且系统由于某种原因需要终止它的情况下,可能会调用此方法。

他们所说的“通常不被称为”是什么意思? “系统需要终止它..”意味着该方法appWillTerminate会被调用吗?


我想你是正确的。当您从任务栏终止应用程序时(或者当您的设备内存不足且操作系统为您终止应用程序时),它只会发送 SIGKIL 信号。正如您所注意到的,它从不调用任何回调。

根据文档:

对于支持的应用程序 后台执行,这个方法是 一般不会在用户调用时调用 退出应用程序,因为 应用程序只需移动到 那种情况下的背景。然而,这 方法可能会在某些情况下被调用 应用程序运行的位置 背景(未暂停)和 系统需要终止某些 原因。

So, iOS can打电话给applicationWillTerminate:方法,但可能不会。 (我从没见过。)

如果您想在应用程序被终止之前保存任何状态,则需要在它进入后台时执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 应用程序生命周期 4/3GS/iPad 与 2G/3G 的相关文章

  • 如何在 Xcode 4.2 中启用 ARC 项目范围

    我有一个 iOS 应用程序 我想将其转换为使用ARC 我只想使用迁移工具 但在预览阶段它始终会出错 我知道我可以使用 fobjc arc逐个文件的编译器指令 但我想启用ARC在整个项目上 然后使用关闭各个类 fno objc arc 4 2
  • JUnit @Rule 生命周期与 @Before 交互

    我有一些 JUnit 测试使用TemporaryFolder Rule 他们使用TemporaryFolder in a Before执行一些设置的方法 Rule public TemporaryFolder folder new Temp
  • iOS 4核心横向运动姿态

    我一直在尝试根据从 CMMotionManager 返回的 CMAttitude 旋转视图 特别是俯仰 x 和滚动 y 我用参考态度来设定我的视野 这对于纵向模式非常有效 但是当我尝试在横向视图中执行此操作时 它就出错了 由于手机现在逆时针
  • 暂停本地通知

    我正在开发一个警报应用程序 并为此使用本地通知 现在我想为我的闹钟添加贪睡功能 我在Google上搜索发现iPhone不支持此类功能 但还有其他方法可以做到这一点吗 据我所知 当通知窗口弹出时 您无法添加自定义行为 但 你可以这样尝试 用户
  • GPS 坐标(以度为单位)来计算距离

    在iPhone上 我以十进制度数获取用户的位置 例如 纬度39 470920和经度 0 373192 也就是A点 我需要用另一个 GPS 坐标 同样以十进制表示 B 点创建一条线 然后 计算从 A 到 B 的线与另一个点 C 之间的距离 垂
  • 如何更改 Xcode 项目名称

    我已经在 iPhone 的 Xcode 中开发了我的应用程序 一开始我只是在没有 secnec 的情况下命名它 现在我想更改我的应用程序名称 我已将旧应用程序名称替换为新名称 因为我在应用程序中找到了该名称 但它仍然给我一个错误 桌面 新名
  • 多次按下按钮时声音重叠

    当我按下一个按钮 然后按下另一个按钮时 声音会重叠 我该如何解决这个问题 以便在按下另一个声音时第一个声音停止 void playOnce NSString aSound NSString path NSBundle mainBundle
  • 获取iPhone照片库的图像名称

    我正在做一个项目 从 iPhone 照片库或以其他方式从相机胶卷中获取图像 我已经做到了 没有任何问题 但我需要从照片库中检索名称 有没有办法做到这一点 任何帮助表示赞赏 Thanks 查看 ALAssetsLibrary 它在 iOS 4
  • UILabel + touchDown

    UILabel可以实现touchdown吗 UILabel是一个子类UIView 它本身是一个子类UIResponder 因此 制作一个响应触摸的标签绝对是可能的 只需创建一个新的子类UILabel并实施以下方法 touchesBegan
  • 在 iOS 中以编程方式拨打带有访问代码的电话号码

    如何在 iOS 中以编程方式拨打包含号码和访问代码的电话号码 例如 号码 900 3440 567访问代码 65445 UIDevice device UIDevice currentDevice if device model isEqu
  • 如何在 React 的 recompose 生命周期方法中 setState?

    我在我的 React 项目中使用 recomposehttps github com acdlite recompose https github com acdlite recompose 这是一个很棒的图书馆 我正在使用compose实
  • iOS-示例中的协议和委托

    好吧 我正在寻找 但没有任何方法对我有用 以下代码基于许多教程和苹果文档 但我无法让它工作 有人可以帮忙吗 代码崩溃于 obj delegatee self 在 B h 类中 respondsToSelector 和 PerformSele
  • HTML5 音频在 iOS 4 上的限制?播放列表、背景等

    我一直在 iOS 4 上评估 HTML5 音频 并试图了解它的局限性 据我所知 可以在后台播放音频 It is not可以在赛道完成后在后台触发 JavaScript 事件 屏幕关闭时可以触发 JavaScript 事件 但 Safarim
  • 检测到调用系统库中 iPhone 上不存在的符号的尝试

    我使用的是 x code 3 2 4 我正在使用 ios4 1 sdk 当我尝试从音频工具箱调用 ExtAudioFileOpenURL 时 出现以下错误 检测到调用符号的尝试 在系统库中不是 iPhone 上显示 从函数 ZN15ID3P
  • 我的程序有内存泄漏

    IBAction play2 CFBundleRef mainBundle CFBundleGetMainBundle CFURLRef soundFileURLRef soundFileURLRef CFBundleCopyResourc
  • popToRootViewControllerAnimated 不显示根视图控制器

    我需要一些关于导航控制器问题的帮助 我有一个navigationController with 4 ViewControllers推 我推的最后一个 vc 提出了进一步的ViewController模态地 模态ViewController提
  • 如何将外部项目添加到 Xcode 4?

    我遇到了在 Xcode 4 中包含项目的问题 我拥有所有文档 但它适用于 Xcode 3 而不是 Xcode 4 如何添加ZXingWidget xcodeproj到我的 Xcode 4 项目 在 Xcode 4 中 您主要是要创建一个新的
  • 重用cocos2d动作

    是否可以 并且是一个好的实践 为使用相同操作的多个 CCSprite 重用相同的操作 因为如果我有 10 个 CCSprite 所有这些都需要缩放 我创建了一个名为scaleAction 的缩放操作 是否可以对精灵重复使用相同的动作 当我尝
  • 在 insertMethod 应用程序中使用 Core Data 会崩溃并给出 NSInternalInconsistencyException 并显示错误消息 Context已经有一个协调器

    我正在 xcode 4 2 中的 insertMethod 在 MasterViewController m 类中 实现一个核心数据示例 我的应用程序崩溃了NSInternalInconsistencyException 和错误消息 Con
  • 默认情况下在 MPMovies PlayerViewController 中显示字幕

    有什么方法可以在默认情况下由 MPMovies PlayerViewController 加载的电影上显示字幕吗 这部电影在视频中嵌入了字幕 谢谢你 不幸的是 这个功能在MPMoviePlayer播放类 这显然相当烦人 您应该考虑向 App

随机推荐

  • Bootstrap Modal:模态打开时允许后台交互

    我正在使用 javascript 创建动态模式 当模式打开时 我想允许鼠标在主体上的其他背景元素按钮 输入表单等上进行交互 模态的主代码行如下 element1 document createElement div element1 set
  • sql中select unique id和select unique *的区别

    我尝试过 select distinct ID from DB TABLE 它返回所有记录中的唯一 ID select distinct from DB TABLE 它将通过比较所有列和记录或 distinct 的功能返回唯一记录 我与di
  • HTTPS GET 请求的使用结果 [Node.js] [重复]

    这个问题在这里已经有答案了 我认为我遇到了一个小问题 但我找不到解决它的方法 我想使用 Node js HTTPS GET 请求在变量中加载远程 JSON 这是成功的 但我无法在代码中的其他任何地方使用它 我的功能如下 来自 Node js
  • 如何阻止 Apache 列出我的用户目录的内容

    我最近跑了一些渗透测试软件在我的网站上 并惊讶地发现我的目录列表之一可以公开访问 这是可用的 root 用户的目录 http www example com root 结果该页面内容 Index of root Parent Directo
  • 如何从spring security获取当前登录的用户对象?

    我正在使用 Spring 安全版本 3 1 4 RELEASE 如何访问当前登录的用户对象 SecurityContextHolder getContext getAuthentication getPrincipal 返回用户名 而不是用
  • Nivo 滑块不适用于 IE7

    我已经在这个网站上查看了很多关于 Nivo Slider 问题的帖子 我检查了 javascript 中的逗号 它看起来对我来说是正确的
  • 无法在 paypal 沙箱中发布商品价格

  • get_driver_instance() 在 Qt 中崩溃

    我正在尝试使用 Qt 使用 MySQL Connector C 并且花了几个小时来解决一个问题 这是测试连接的简单代码 int main int argc char argv QCoreApplication a argc argv cou
  • Windows Phone 8:如何检查数据库(服务器)上是否一直有新消息(即使应用程序未运行)?

    我已经开发 Windows 桌面应用程序很多年了 但刚刚开始开发 Windows Phone 8 应用程序 因此 正如您可以想象的那样 我有很多问题和疑虑 到目前为止这是我的问题 我需要一个应用程序来检查服务器数据库中是否有新消息 通知 即
  • Vimrc 设置模拟 Sublime 的括号自动完成

    如何模拟大括号的 Sublime text 自动完成行为 在维姆上 基本上 当括号打开时 它应该在同一行中自动关闭 并且当
  • 在 Angular 4/5 中编译动态 HTML - 类似于 Angular JS 中的 $compile

    我想通过对服务器的服务调用接收 HTML 数据 这是肯定的 我无法将模板保留在本地 并在内部操作它们以了解如何显示它 作为模态页面或完整页面 这个带有 Angular 标签的 HTML 应该循环到一个组件并一起工作 最多是 Angular
  • 没有公共继承的类之间的链式转换

    Question 我有一系列约 10 个模板类 A B C D 我想启用从一个类到该系列中以前的类的转换 D gt C B 或 A C gt B 或 A 乙 gt 甲 如何在不使用公共继承的情况下实现这一点 Test 1 公共继承 我不想继
  • 如何检查Chrome开发工具是否打开? [复制]

    这个问题在这里已经有答案了 I found in the tutorial on codeschool com discover devtools http discover devtools codeschool com chapters
  • ansible - 组合三个字典列表

    在我的剧本中 我从多个来源收集有关应用程序的事实 最终得到 3 个 或更多 列表 每个列表都有一个字典 有没有一种方法可以将这种结构合并到一个字典列表中 如果没有 关于我需要如何更改数据结构有什么建议吗 我尝试结合的代码2 字典列表 即使在
  • 从 csv 打印第一列时出现 Python 'KeyError: 0'

    我是 python 新手 尝试按列索引读取每一行 但得到KeyError 0执行以下代码时 with open processed test csv as f reader csv DictReader f for row in reade
  • 处理多态对象集合的正确设计模式

    假设我有以下课程 class BaseObject public virtual int getSomeCommonProperty class Object1 public BaseObject public virtual int ge
  • Python从项目列表创建字典键

    我希望使用 Python 字典来跟踪一些正在运行的任务 这些任务中的每一个都有许多使其独一无二的属性 因此我想使用这些属性的函数来生成字典键 以便我可以使用相同的属性再次在字典中找到它们 像下面这样 class Task object de
  • Spring Boot War 在 Jboss 7.1 上不起作用

    我正在尝试在 Jboss 上部署 Spring boot 应用程序 我跟随this将我的 jar 转换为 war 文件的教程 但是当我尝试在 Jboss 上运行应用程序时 它给了我这个错误 17 02 31 462 ERROR org ap
  • 如何让一个数成为幂呢?

    我的 JavaScript 有这个 A B C 其他的我都有了 但是我怎样才能有C作为力量呢 我认为使用 会起作用 但它只是添加它 JavaScript 没有求幂运算符 实际上是按位异或运算符 尝试使用Math pow反而 var d Ma
  • iOS 应用程序生命周期 4/3GS/iPad 与 2G/3G

    我读过苹果的文档关于应用程序生命周期并进行了一些测试以了解不同设备上的应用程序生命周期 除 2G 外均运行 iOS 4 x 我已经测试了具有 多任务处理 功能的设备与一些不支持此功能的设备 iPhone 2G 3G 应用程序生命周期 STA