我有一個非常奇怪的問題,在Android中,API調用需要300-500毫秒,而在iOS中需要1.5-2.5秒。我已經刪除了像我的服務器,設備特定的問題,互聯網連接等依賴項。我有一個非常簡單的示例代碼實例URL,對我來說,即使在模擬器上也需要2秒。網絡電話需要更多的時間在iOS上比在Android上
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中都是相同的。我在這裏做錯了什麼?
嗨創建
NSURLSession
例如,我曾試圖用單一的API你的代碼,但它仍然需要1.62秒,經過服務器的響應時間僅顯示500毫秒。任何解決方案 –