2016-08-03 8 views
0

verwende Ich erhalte eine Speicherwarnung, wenn ich meine Mediengalerie verwende. Er holt alle Bilder/Videos von meiner Kamera in das Fetch-Ergebnis und Sie können mit einem UIPageControl durch den Inhalt blättern.
Als ich "Instrumente" es verwenden, zeigt, dass: enter image description hereIch bekomme immer Speicherwarnung, wenn ich PHAsset in Swift

einige Code

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) 
    }) 
} 

hier und hier hole ich die Medien zu meinem PHFetch Ergebnis:

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

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

    let media = PHAsset.fetchAssetsWithOptions(fetchOptions) 

Ich habe absolut keine Idee was das bedeutet, denn ich bin neu in XCode und Swift. Was könnte der Grund sein?
Vielen Dank im Voraus

+0

Sie sollten einen Code hinzufügen, wenn Sie eine hilfreiche Antwort erhalten möchten. – Karlis

+0

Ich habe es jetzt bearbeitet – mafioso

+0

@mafioso Hast du die Lösung bekommen? – atulkhatri

Antwort

0

Sie haben fast 1GB CGImage Allokationen. Sie sollten versuchen, Ihre Zellen oder Bildansichten wiederzuverwenden, nicht verwendete Bilder freizugeben. Rufen Sie das Bild auch nur ab, wenn Sie es auf dem Bildschirm anzeigen möchten, holen Sie nicht die ganze Kamera ab. Wenn Sie nicht mit Vollbild-Bildern arbeiten, sollten Sie Miniaturansichten anzeigen.

+1

Klingt wirklich gut, aber wie könnte ich das tun? – mafioso

Verwandte Themen