【发布时间】:2017-04-24 07:31:36
【问题描述】:
我有一个非常奇怪的问题,在 Android 中,API 调用需要 300-500 毫秒,而在 iOS 中需要 1.5-2.5 秒。我已经删除了依赖项,例如我的服务器、设备特定问题、互联网连接等。我有一个非常简单的示例代码可以访问示例 URL,对我来说,即使在模拟器上也需要大约 2 秒。
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSLog(@"start");
// 1
NSURL *url = [NSURL URLWithString:@"https://httpbin.org/get"];
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
// 2
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setValue:@"" forHTTPHeaderField:@"Accept-Encoding"];
request.HTTPMethod = @"GET";
[[session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// Handle response here
NSLog(@"end - %ld", (long)[(NSHTTPURLResponse*)response statusCode]);
}] resume];
});
我也尝试过使用 AFNetworking 和 ASSIHTTP 库,但没有区别。我还检查了标题,它们在 Android 和 iOS 中都是相同的。我在这里做错了什么?
【问题讨论】:
-
嗨,我已经用单一 API 尝试过你的代码,但它仍然需要 1.62 秒,在服务器中签入响应时间仅显示 500 毫秒。有什么解决办法吗?
标签: ios