【问题标题】:This is Memory issue or not这是否是内存问题
【发布时间】:2014-02-13 17:49:02
【问题描述】:

我什么时候可以在模拟器中运行我的应用程序。 xCode 调试部分显示 cpu 和内存部分,它将显示一些图形流。但我不知道那是什么。 我的问题是,

  1. cpu 和内存图是什么
  2. 当我运行我的应用程序时,当我导航到任何其他视图控制器并返回相同或其他视图控制器等时,内存会增加,它总是会增加内存大小。

为什么会发生。这有什么问题吗。如果是的话,如何解决这个问题以及我造成的原因。

在下面的图像中,我导航到任何其他视图控制器。它突然从上面的图像内存大小增加到下面的图像内存大小。

【问题讨论】:

  • 是的,我会说这是个问题。看起来您正在“抓住”一些您不需要的对象。但是,您需要使用静态分析器或仪器对其进行跟踪。
  • 我在构建设置中启用了静态分析器,但它没有显示任何信息。可以使用哪种仪器类型。因为我以前从未使用过仪器功能。帮助我如何解决我在我的项目中启用了弧@trojanfoe
  • @iDev 详细说明您在视图控制器中执行哪些操作的问题?

标签: ios iphone objective-c memory memory-leaks


【解决方案1】:

从整体内存消耗来看,您似乎正在处理一些图像或视频或其他繁重的内容。许多使内存泄漏处理这些。要测试那是否是真正的泄漏,您可以这样做:

转到某个页面 A(任何页面),从那里转到另一个页面 B,然后返回 A,返回 B.. 重复此操作,如果您的内存真的越来越高 - 您有泄漏。

但请记住:这些图表显示了您的应用从您的设备中使用了多少资源,您不应该使用它来查找泄漏。而是去探查器,选择内存泄漏并使用它。如果您使用 ARC 并且找不到任何泄漏,您可以使用分配工具中的“标记堆”按钮来查找内存堆积,如下所示:重复“页面 A 页面 B”循环,每次在页面 A 中时,按“标记堆”按钮。您现在将看到几代,每代都显示了与上一代相比增加了多少内存。如果它总是不断增加相同的数量 - 双击生成将向您显示所有可能泄漏的地方。

附加信息:配置应用程序的最简单方法是将鼠标左键按住 xcode 中的“播放”按钮,直到弹出更多按钮。选择个人资料。当仪器出现时 - 选择“泄漏”。

从那里 - 您应该能够看到您的应用的整体统计信息。我不会详细介绍分析器,因为所有信息都已在网络中可用。例如:https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 2018-05-04
    • 2020-05-18
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多