iphone - 与分配工具一起使用时应用程序崩溃

标签 iphone memory-management instruments

我发现我的应用程序在与分配工具一起使用时崩溃。查看设备日志时,我可以看出这是“内存不足”崩溃。我的应用程序进程以及我的应用程序使用的其他进程都被抛弃。设备日志如下所示:

  MyAPP <09da004ccd82e7a2c54e0ea6ab4eab24>    1990 (jettisoned) (active)
 MobilePhone <6d3241e15be58311a76700272febc6d4>     635 (jettisoned)
  accessoryd <6a25188f645a24b167cda5e0a86d486a>     121 (jettisoned)

当应用程序在没有仪器的情况下运行时,我没有遇到任何崩溃,并且用户认为该应用程序性能良好。几天来我一直专注于解决这个问题(几乎所有我的代码都被注释以找到问题)。

我的问题是 - 与仪器结合使用时应用程序崩溃是否会给最终用户带来问题?或者这只会在调试内存问题时给我带来问题?

注 1:当我将应用程序与仪器一起使用时,我根本没有与该应用程序进行交互。它加载 View Controller ,进行异步服务调用,该调用返回结果,然后将结果填充到两个 TableView 中。由于仍然需要对象,因此不需要释放太多内容。

注释 2:这是应用程序崩溃时分配工具中的实时对象列表片段(按大小降序排列)。正如你所看到的,MYAPP 并不是真正的主要罪犯(表面上)

Size(bytes) Responsible Library Responsible Caller
131072  UIKit    -[UIView(Internal) _subclassImplementsDrawRect]
45056   CoreGraphics        zone_malloc
16384   libCGFreetype.A.dylib   ft_allocate
11264   Foundation  NSPopAutoreleasePool
8192    libCGFreetype.A.dylib   ft_allocate
8192    Foundation  NSLogv
7680    libCGFreetype.A.dylib   ft_allocate
7680    libCGFreetype.A.dylib   ft_allocate
7680    CoreGraphics    argb32_mark_constmask
5120    CoreGraphics    CGDataProviderCreateWithCopyOfData
4608    libCGFreetype.A.dylib   ft_allocate
4608    libCGFreetype.A.dylib   ft_allocate
4608    libCGFreetype.A.dylib   ft_allocate
4096    libSystem.B.dylib   __stack_chk_fail
4096    QuartzCore  CA::Transaction::create()
4096    Foundation  NSPushAutoreleasePool
4096    MYAPP   -[CJSONScanner scanNotQuoteCharactersIntoString:]

谢谢

最佳答案

我以前也遇到过类似的问题。原来我使用的是未初始化的内存。使用分配运行会更改导致崩溃的内存值。

关于iphone - 与分配工具一起使用时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3973913/

相关文章:

iphone - 动画-不断缩小的图像比例

iphone - 使用 AVPlayer 进行播放?

numpy - 当使用自身的部分 View 覆盖数组时,Numpy 的内存管理是什么?

xcode - 无法理解仪器数据

iphone - 将国家代码转换为国家名称

iphone - 在应用程序购买中:应用程序处于事件状态,并且仍显示[环境:沙箱]

c - Linux 堆结构和 malloc() 和 free() 的行为

objective-c - 窗口关闭时从 NSMutableArray 中移除 NSWindowController

ios - NSPlaceHolderString 泄漏,Instruments 没有告诉我在哪里?

xcode - 如何测量在函数中花费的总时间?