模拟器“模拟内存警告”事件清除生成分析内存增长的意义

Posted

技术标签:

【中文标题】模拟器“模拟内存警告”事件清除生成分析内存增长的意义【英文标题】:Meaning of clearance of generation analysis memory growth on simulator "simulate memory warning" event 【发布时间】:2014-04-14 15:52:32 【问题描述】:

我试图在生成分析中调试内存增长并且很沮丧(很多对象是调用 CGGlyphBitmapCreate 的结果没有被释放)。然后,我在模拟器上运行程序并捕获了许多代快照,然后我做了一个模拟内存警告。几乎每一代都清零(有几个在这里和那里有几个字节)。这是否意味着我的代码很好,我不应该担心它?如何防止增长,以便它不必等到模拟内存警告事件来清除增长? (顺便说一句,所有这些增长都是由系统库引起的)

【问题讨论】:

【参考方案1】:

如果内存在内存警告时被释放,那么你可能没问题。操作系统将缓存您通常不必担心的各种内容(它将免费/重用)。

不过,我还是会通过静态分析器运行代码(在 Xcode 中按 shift+command+B 或选择“分析” Xcode“产品”菜单)只是为了安全。

【讨论】:

以上是关于模拟器“模拟内存警告”事件清除生成分析内存增长的意义的主要内容,如果未能解决你的问题,请参考以下文章

从代码中模拟内存警告,可能吗? [复制]

NSCache

内存警告后释放 UIImage 时崩溃

Perl 内存使用分析和泄漏检测?

[UINavigationController 保留]:发送到已释放实例的消息

chrome 私有内存出现无法解释的增长