使用 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有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)