При загрузке некоторых изображений в мой QuicklookController используемая память никогда не освобождается Менеджером памяти. Пример:iOS 10 Использование памяти Quicklook
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let photoFile = photos[indexPath.row] as Photo
currentFilePath = photoFile.filePath
let preview = QLPreviewController()
preview.dataSource = self
self.navigationController?.pushViewController(preview, animated: false)
}
func documentsDirectoryURL() -> NSURL {
let manager = NSFileManager.defaultManager()
let URLs = manager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
return URLs[0]
}
func previewController(controller: QLPreviewController, previewItemAtIndex index: Int) -> QLPreviewItem {
return documentsDirectoryURL().URLByAppendingPathComponent(currentFilePath)
}
Здесь плохо загружают изображение. Размер изображения составляет около 200 килобайт, размер около 2500x1250 пикселей. Память увеличилась примерно на 10 Мбайт, НО, когда плохо закрыл контроллер (кнопка «Назад»), память все еще используется. Таким образом, каждый клик стоит 10 Мбайт дополнительной ОЗУ (Достаточное значение, если изображение одно и то же, или новое)
Как я могу заставить, чтобы QLPreviewController
освободил использованную память?
Edit: Кажется, что это уже докладывал:
https://github.com/jcamiel/radars/blob/6b02382c08cdd9312df325a7a08ea9efeec5727b/28318213/radar.md
https://forums.developer.apple.com/thread/63020
edit2:
Испытано теперь с 2 IPad Pro 9,7
во-первых, IOS 10.0.1 -> Память увеличивается, как описано выше. Во-вторых, IOS 9.3.5 -> не выдает Нет памяти
Так что, кажется, его действительно только IOS 10 Bug ...