使用 UIReferenceLibraryViewController 是不是存在内存泄漏?
Posted
技术标签:
【中文标题】使用 UIReferenceLibraryViewController 是不是存在内存泄漏?【英文标题】:Do I have a memory leak using UIReferenceLibraryViewController?使用 UIReferenceLibraryViewController 是否存在内存泄漏? 【发布时间】:2015-06-06 11:24:17 【问题描述】:我正在构建一个使用UIReferenceLibraryViewController
的语言学习应用程序,我从我的视图控制器手动呈现如下:
let referenceLibraryVC = UIReferenceLibraryViewController(term: term)
presentViewController(referenceLibraryVC, animated: true, completion: nil)
UIReferenceLibraryViewController
没有委托属性,负责自行解散。
使用 Instruments
分析我的应用程序以进行分配我看到每次我呈现 UIReferenceLibraryViewController 时,#Persistent
计数都会增加,但在 UIReferenceLibraryViewController 被解除时不会减少。
这是内存泄漏还是仪器没有检测到 UIReferenceLibraryViewController 的释放。如果这是泄漏,我可以做些什么来修复它?
【问题讨论】:
你有办法解决这个泄漏吗?似乎泄漏仍然出现在 ios 12 上。 【参考方案1】:我和你有同样的问题。
首先我认为是因为新的语言,所以我用Objective C来演示它。结果是一样的!
更进一步,如果调用它的类方法class func dictionaryHasDefinitionForTerm(term: String) -> Bool
也会导致内存泄漏。
使用 Profile 分析内存,我被告知泄漏源是CFString
。
尴尬!!!
【讨论】:
以上是关于使用 UIReferenceLibraryViewController 是不是存在内存泄漏?的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)