代码之家  ›  专栏  ›  技术社区  ›  adam

iPhone内存不足奇怪的崩溃

  •  2
  • adam  · 技术社区  · 17 年前

    我的应用程序在大约20分钟后崩溃,状态为101(我相信内存不足)

    使用Instruments-ObjectAlloc和Leaks进行调试并没有给我任何线索。ObjectAlloc图保持在大约100万字节(1MB)的恒定水平,分配净额也是如此。我已经排除了所有的漏洞。

    5 回复  |  直到 12 年前
        1
  •  3
  •   Robotic Cat    12 年前

    修复叮当发现的一切。 LLVM Clang Static Analysis

        2
  •  1
  •   philsquared    17 年前

    如果这些都没有引起任何共鸣,您可以尝试使用减法调试方法(复制一份您的项目)剪切功能块,直到问题消失,或者得到尽可能小的东西来重现它。这至少可以帮助您找到瓶颈所在。不可否认,这将是困难的(a)因为每次测试你都要等20分钟左右(但如果你把这作为一个后台过程,情况就不那么糟糕了)和(b)因为内存问题的本质可能不是单一的原因,而是大量较小的原因。

        3
  •  1
  •   lostInTransit    17 年前

    我对Object Alloc的体验并没有那么好。它并不总是提供应用程序使用的实际内存。

    相反,将对象Alloc与活动监视器一起使用。确保使用活动监视器中的“物理内存可用”和“物理内存已使用”选项。这将准确地告诉您应用程序使用了多少内存。

        4
  •  0
  •   Kendall Helmstetter Gelner    17 年前

    你说的“好水平”是什么意思。它根本不会随着时间的推移而上升?内存总量-可能是手机需要一些内存用于其他应用程序,而你的应用程序有点太大,无法正常使用。

        5
  •  0
  •   Sophtware    17 年前

    错误代码101表示iPhone操作系统强制退出您的应用程序。如果在应用程序中使用UIImageView,请确保管理其上的内存。我发现,一旦我的应用程序超过10/12MB,iPhone就会终止它。

    如果您没有使用任何图像视图(或大型图像),则后端代码会占用太多空间。

    在Instruments(运行->从Performance Tool开始->Leaks)中运行应用程序,查看内存分配的位置。

    希望这有帮助!