【问题标题】:What are causes of freezing in an iOS app after returning from background?从后台返回后iOS应用程序冻结的原因是什么?
【发布时间】:2011-07-29 06:38:59
【问题描述】:

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

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

我想了解导致应用无响应的一般原因是什么,尤其是当应用支持后台运行功能并在后台运行一段时间后重新激活时。

看来我错过了一些应该尊重以避免冻结问题的基本技术。

更新:我怀疑将UIImage 保存到 Core Data 对象中是否是主要原因。在启动时,它是不可见的,但是随着时间的推移,会执行许多 saveManagedObjectContext,而 UIImage 仍然被引用。 也许我应该听过不要在 Core Data 中保存任何图像的说明?

【问题讨论】:

    标签: ios cocoa-touch user-interface multitasking


    【解决方案1】:

    如果遇到此问题,请检查您的崩溃日志

    异常代码:0x8badf00d

    那么很可能您的应用程序在启动或在后台移动或终止时花费了很多时间,实际上应用程序在启动/关闭时需要很长时间 iOS 暂停它并且我们的应用程序冻结,文档中没有定义这样的时间但是正如我所经历的那样,它不应该超过 4-5 秒。检查您的应用程序委托 applicationDidFinishLaunch 或多任务委托有一些需要时间完成的代码。欲了解更多信息,请访问这些

    http://developer.apple.com/library/ios/#technotes/tn2151/_index.html

    http://en.wikipedia.org/wiki/Hexspeak

    【讨论】:

    • 感谢您尝试回答有些过于笼统的问题。我想我应该更多地了解优化 iOS 应用的基本方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    相关资源
    最近更新 更多