2016-08-03 5 views
0

미디어 갤러리를 사용할 때 메모리 경고 메시지가 나타납니다. 내 카메라 롤에서 가져온 결과로 모든 이미지/비디오를 가져오고 UIPageControl을 사용하여 내용을 슬라이드 할 수 있습니다. 나는 전혀 가지고스위프트에서 PHAsset을 사용할 때 항상 메모리 경고가 발생합니다.

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

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

    let media = PHAsset.fetchAssetsWithOptions(fetchOptions) 

: 여기 enter image description here

일부 코드가

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 결과에 미디어를 가져 오기 :
내가 사용 "악기는"이 있음을 표시하지 않습니다 그것이 내가 XCode와 Swift에서 새롭기 때문에 그것이 무엇을 의미하는지 생각해보십시오. 그렇다면 그 이유는 무엇일까요?
미리 감사드립니다.

+0

유용한 답변을 받으려면 코드를 첨부해야합니다. – Karlis

+0

내가 지금 편집했습니다 – mafioso

+0

@mafioso 해결책을 얻었습니까? – atulkhatri

답변

0

거의 1GB의 CGImage 할당이 있습니다. 셀 또는 이미지 뷰를 재사용하고 사용하지 않는 이미지를 릴리스해야합니다. 또한 화면에 표시 할 때만 이미지를 가져오고 전체 카메라 롤을 가져 오지 마십시오. 전체 화면 이미지로 작업하지 않는 경우 미리보기 이미지를 표시해야합니다.

+1

소리가 정말 좋지만 어떻게 할 수 있습니까? – mafioso