我有一个函数,可以使用 cocoa 的 Url 对象从网络获取外部资源。它在模拟器上工作正常,但偶尔在设备本身上失败(这是一个谷歌查询,所以资源显然确实存在)。这让我相信硬件上存在一些内部超时障碍,但没有读到这样的障碍是否存在。
还有人遇到过类似的问题吗?或者知道超时是否已记录或可以更改?
最佳答案
如果你的应用程序看起来没有响应,iPhone 操作系统将终止你的应用程序 - 基本上是如果你的主线程阻塞了几秒钟。这在退出时也很重要 - 如果您在退出时保存,您将有一个非常小的窗口来完成保存,而操作系统可能正在执行其他操作,这使得情况变得更加复杂。如果您退出操作系统的时间过长,则会终止您的应用程序,这对用户来说就像您的应用程序无法保存一样。
我强烈建议您在硬件而不是模拟器上测试与时间相关的任何内容。该模拟器非常适合快速周转调试,但不能代表实际硬件上的性能。
如果您有任何繁重的工作要做,请在单独的线程上完成,以便 UI 保持对用户和操作系统的响应。
关于iphone - 如果函数执行时间太长,iPhone 会超时吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169470/