iOS 10 Quicklook内存使用

时间:2016-09-22 14:34:37

标签: ios swift ios10

将一些图像加载到我的QuicklookController时,内存管理永远不会释放使用过的内存。例如:

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 MB,但是当关闭控制器(后退按钮)时仍然使用内存。因此,每次点击都会花费10 MB的额外RAM(如果图像相同或者是新的,则为Doesent问题)

我如何强制QLPreviewController释放已用过的内存?

编辑:似乎已经报告过:

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 ......

1 个答案:

答案 0 :(得分:0)

似乎已在iOS 10.0.2中修复