【发布时间】:2011-10-28 23:58:47
【问题描述】:
我从核心 iOS 库中得到奇怪的内存分配,在 Instruments Allocations (Malloc 1.00KB) 中可以看到,它不断增加并导致应用程序崩溃 (iPad)。
该应用程序允许用户浏览文章(webview 中的正文,标签中的标题/作者/日期) - 每个新视图控制器加载时都会出现问题(先前的视图控制器被释放/解除分配 - 这不是问题)。
以下 CoreGraphics 分配仅在为 UILabel 设置 .text 属性时发生: CoreGraphics "CGGLyphBitmapCreate"、"CGFontSetStrikeValue" - 有时其中一项或两项显示 6 或 7 次(每次 1KB),但每次视图加载时至少显示一次。
除此之外,Foundation "[NSNotificationCenter addObserver:selector:name:object:]" 有时会出现,有时不会,有时一次加载最多 6/7 次。我理解为什么添加观察这可能会分配一些内存,但使用“[NSNotificationCenter removeObserver:self] 释放视图控制器肯定会再次删除所有引用。
我已经包含了 Instruments 的屏幕截图...甚至不会解决 ** 有时会在加载时显示的 WebCore 和 libcache.dylib 分配。这里也很困惑。
【问题讨论】:
-
好的 - 我已经进一步调试,似乎只有在我使用“Georgia”字体而不是默认的“Helvetica”时才会出现“CGGLyphBitmapCreate”行。
标签: objective-c ios ipad memory-management instruments