2016-08-03 3 views
0

Я получаю предупреждение о памяти, когда использую свою медиа-галерею. Он извлекает все изображения/видео из моего ролика камеры в результат выборки, и вы можете перемещать содержимое с помощью UIPageControl.
Когда я использую "Инструменты" она показывает, что: enter image description hereЯ всегда получаю предупреждение о памяти, когда использую PHAsset в Swift

Вот код

func showImage(obj: AnyObject!) { 
    var image = UIImage() 
    manager.requestImageForAsset(obj as! PHAsset, targetSize: PHImageManagerMaximumSize, contentMode: .AspectFit, options: photoOptions, resultHandler: 
     {(result, info)->Void in 
      image = result! 
      self.imageView.image = image 
      self.imageView.frame = self.contentView.bounds 
      self.contentView.addSubview(self.imageView) 
    }) 
} 

и здесь я принести СМИ в мой PHFetch Результат:

fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)] 

    PHAsset.fetchAssetsWithMediaType(.Image, options: fetchOptions) 
    PHAsset.fetchAssetsWithMediaType(.Video, options: fetchOptions) 

    let media = PHAsset.fetchAssetsWithOptions(fetchOptions) 

У меня абсолютно нет идея, что это значит, потому что я новичок в XCode и Swift. Так в чем же причина?
Заранее благодарен

+0

Вы должны приложить некоторый код, если хотите получить полезный ответ. – Karlis

+0

Я отредактировал его сейчас – mafioso

+0

@mafioso Вы получили решение? – atulkhatri

ответ

0

У вас есть почти 1 ГБ распределений CGImage. Вы должны попытаться повторно использовать свои ячейки или изображения, выпустить неиспользуемые изображения. Также выберите изображение только тогда, когда вы собираетесь его отображать на экране, не извлекайте весь рулон камеры. Если вы не работаете с полноэкранными изображениями, вы должны отображать миниатюры.

+1

Звучит очень хорошо, но как я могу это сделать? – mafioso