2015-12-08 3 views
-1

Прямо сейчас я загружаю изображения, просматривая файл url и занимая его долгое время. Я даже поставил его на основной поток как высокий приоритет, но он все еще медленный. Это фактически в цикле для 6 изображений. Мой вопрос:Быстрый способ загрузить изображения

Есть ли более быстрый способ загрузить изображения в представление, чем это? Как альтернатива файлу url?

//check the filetype 
    if ([fileType isEqual: @"image"]) 
    { 
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ 
     //get image 
     NSURL *imageFileUrl = [[NSURL alloc] initWithString:file.url]; 
     NSData *imageData = [NSData dataWithContentsOfURL:imageFileUrl]; 
      dispatch_async(dispatch_get_main_queue(), ^{ 
     imageView.image = [UIImage imageWithData:imageData]; 
      }); 
     }); 

    } 

Мои изображения в качестве этого пресета и это размер экрана iPhone ли это быть 5,6 или 6 плюс

self.camera = [[LLSimpleCamera alloc] initWithQuality:AVCaptureSessionPreset1280x720 
              position:CameraPositionBack 
             videoEnabled:YES]; 

спасибо,

+0

FYI - Если 'file.url' фактически возвращает путь к файлу в виде строки, то вы не можете создать' NSURL', используя 'initWithString'. Вам нужно использовать 'initFileURLWithPath:'. Но если 'file.url' возвращает что-то вроде' file: // somepath/to/file', то то, что у вас есть, в порядке. – rmaddy

+1

В ответ на ваш вопрос нет, нет ярлыка для загрузки изображения. – rmaddy

+0

Это может быть полезно: https://github.com/rs/SDWebImage – kpsharp

ответ

0

Хотя для загрузки изображений нет ярлыков, есть вещи, которые вы можете сделать, чтобы помочь.

  1. Изначально загружайте только видимое изображение, после чего загружайте все, что может быть видно в ближайшее время.

  2. Если размер изображения превышает вид, создайте более низкое изображение. Возможно, это пара для разных устройств разрешения экрана.

  3. Создать низкие версии разрешение изображения, загружать их первым, чтобы получить что-то для пользователя, а затем загрузить изображения с полным разрешением заменить низкой версии разрешения ..

Пожалуйста, добавьте размеры изображения и размеры UIImageView и разрешение экрана на вопрос.

+0

Я добавил свой пресет качества с моими возможными размерами изображения – ian

0

Что я могу предложить вам, что

  • Сохранить дубликат каждого изображения в более низкое разрешение/размер на сервере.
  • Загрузите дублирующее изображение при первой загрузке.
  • Когда пользователь особенно просматривает изображение, загрузите исходное изображение.
Смежные вопросы