草庐IT

iphone - NSURLConnection sendSynchronousRequest - 后台到前台

coder 2023-09-22 原文

我正在使用 sendSynchronousRequest 从服务器获取数据。我知道同步将等到收到该请求的数据。

但是当用户错误地输入了一些不存在的 url 并试图获得响应时,问题就来了。在这种情况下,如果用户进入后台而不是进入前台,则它只会显示黑屏。它只显示状态栏。它也没有显示任何后台应用程序。我必须按主页按钮才能退出我的应用程序。

在模拟器上,1 多分钟后它显示消息“请求超时”(没有崩溃)。

在设备上,应用程序会在 1 分钟内崩溃。

任何建议。任何帮助。这在我的应用程序中确实是一个严重的问题。

谢谢。

最佳答案

正如 Julien 所说,看门狗正在扼杀您的应用。回答一些问题:

  • 为什么这只发生在模拟器上? 因为当您调试看门狗时,您的应用程序不受干扰,这可能需要一些时间。
  • 为什么仅当用户输入错误的 URL 时才会发生这种情况? 由于系统超时,如果找不到服务器,系统将继续尝试 60 秒。
  • 那么问题是同步还是异步? 不,问题出在线程上,您可以在后台线程中执行相同的操作,只是不要在主线程上执行,看门狗会放过您。
  • 为什么应用启动时黑屏? 请记住,您正在主线程上创建阻塞内容,即绘制线程...

希望仅此而已。如果我遗漏了什么,请告诉我。

关于iphone - NSURLConnection sendSynchronousRequest - 后台到前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7975818/

有关iphone - NSURLConnection sendSynchronousRequest - 后台到前台的更多相关文章

随机推荐