gpt4 book ai didi

iOS:由于网络连接速度慢,应用程序收到 SIGKILL?

转载 作者:行者123 更新时间:2023-11-29 04:41:43 26 4
gpt4 key购买 nike

当我在酒店时,他们的 Wifi 显然是通过非常非常慢的互联网连接连接到互联网的。事实上它可能是基于调制解调器的。

结果是我的应用程序的 HTTP GET 请求似乎导致 iOS 向我的应用程序发送 SIGKILL(如 Xcode 所示)。

为什么?如何修复?

谢谢。

最佳答案

您需要将 HTTP 请求放入后台线程中。如果您的主线程长时间没有响应,您的应用程序将被终止。

通常,Web 服务的 API 提供异步获取。你应该使用它。

如果您的 API 不提供此类...请使用不同的 API。除此之外,你自己把它放在后台。类似的东西

- (void)issuePotentiallyLongRequest
{
dispatch_queue_t q = dispatch_queue_create("my background q", 0);
dispatch_async(q, ^{
// The call to dispatch_async returns immediately to the calling thread.
// The code in this block right here will run in a different thread.
// Do whatever stuff you need to do that takes a long time...
// Issue your http get request or whatever.
[self.httpClient goFetchStuffFromTheInternet];

// Now, that code has run, and is done. You need to do something with the
// results, probably on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
// Do whatever you want with the result. This block is
// now running in the main thread - you have access to all
// the UI elements...
// Do whatever you want with the results of the fetch.
[self.myView showTheCoolStuffIDownloadedFromTheInternet];
});
});
dispatch_release(q);
}

关于iOS:由于网络连接速度慢,应用程序收到 SIGKILL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com