【问题标题】:Receive memory warning on console在控制台上收到内存警告
【发布时间】:2013-04-09 12:26:03
【问题描述】:

我的应用在控制台上显示接收内存警告后崩溃。

在网上冲浪时,我找到了消除内存泄漏的解决方案,但我无法消除内存泄漏。

这是显示泄漏的屏幕截图,有一些百分比。

如何解决这些泄漏?

注意:我在单例类中创建了这个方法。

【问题讨论】:

  • 把代码放在里面-(MutableArray*)getData{ @autoreleasepool{ 你的代码放在这里} return mutableArrayInstance;}
  • 内存警告不仅会因为泄漏而发生,如果您将太多数据加载到内存中,您可能会超过应用程序可用的内存量。如果您将大量数据加载到单例中,这种情况很容易发生,而单例本身永远不会释放并且不会在“内部”释放任何数据。关于内存泄漏,您保留这些对象但从不释放它们,您需要平衡每个分配/保留与释放或自动释放(确保不要手动释放自动释放的对象)。

标签: ios


【解决方案1】:

由于这个问题很老,希望用户必须得到解决方案。但我想为此写下答案以帮助其他用户。 这种情况出现在这些情况下:-

1) 您正在使用大量内存,可用内存不足。

2) 不释放未使用的数据。

你必须检查这些泄漏:-

1)使用仪器检查内存泄漏及其泄漏位置(给遇到内存问题的人的建议)。

2)通过查看您的代码,当您在单例类中分配数组时,它似乎是内存泄漏。

3)不释放数组。

请查看这些链接以更好地了解分配。 https://stackoverflow.com/a/3637159/1865424

https://stackoverflow.com/a/3898015/1865424

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 2012-07-05
    • 2013-03-08
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多