从后台返回后,iOS应用程序冻结的原因是什么?

从后台返回后,iOS应用程序冻结的原因是什么?,ios,cocoa-touch,user-interface,multitasking,Ios,Cocoa Touch,User Interface,Multitasking,这是一个非常困难的问题,因为它不是每次都发生 当一个应用程序刚刚启动,从后台返回时,没有任何冻结。 在后台呆了一段时间后,当我重新激活它时,整个UI会冻结一段时间,甚至活动指示器也没有动画。随着时间的推移,这种冻结变得越来越长,最终导致应用程序因未及时恢复而被iOS终止 我想了解应用程序无响应的一般原因是什么,特别是当应用程序支持后台运行功能并在后台运行一段时间后重新激活时 看起来我错过了一些避免冰冻问题的基本技巧 更新:如果将UIImage保存到核心数据对象中可能是主要原因,我对此表示怀疑。在

这是一个非常困难的问题,因为它不是每次都发生

当一个应用程序刚刚启动,从后台返回时,没有任何冻结。 在后台呆了一段时间后,当我重新激活它时,整个UI会冻结一段时间,甚至活动指示器也没有动画。随着时间的推移,这种冻结变得越来越长,最终导致应用程序因未及时恢复而被iOS终止

我想了解应用程序无响应的一般原因是什么,特别是当应用程序支持后台运行功能并在后台运行一段时间后重新激活时

看起来我错过了一些避免冰冻问题的基本技巧

更新:如果将
UIImage
保存到核心数据对象中可能是主要原因,我对此表示怀疑。在启动时,它是不可见的,但是,随着时间的推移,大量的
saveManagedObjectContext
被执行,而
UIImage
仍然被引用。
也许我应该听一下不在核心数据中保存任何图像的说明?

如果您收到此信息,请查看您的崩溃日志

异常代码:0x8badf00d

然后它最有可能是你的应用程序在启动或在后台移动或终止时花费了很多时间,实际上应用程序在启动/关闭iOS时花费了很多时间暂停它和我们的应用程序冻结,文档中没有定义这些时间,但正如我所经历的,它不应该超过4-5秒。检查您的应用程序代理ApplicationIDFinishLaunch或多任务代理有一些代码需要花费时间才能完成。欲了解更多信息,请点击这里


感谢您尝试回答一些过于笼统的问题。我想我应该更多地了解优化iOS应用程序的基本方法。