【发布时间】:2010-11-19 13:13:26
【问题描述】:
我的 iPhone 应用程序的 GUI 使用了许多 UIView。用户在点击按钮前进或后退时“翻阅”这些视图。视图存储在屏幕外,仅在程序需要显示时才添加到实际视图中。
在翻转过程中,程序告诉父视图(一个 uiscrollview)使用 removeFromSuperView 方法删除任何现有的子视图,然后添加新的子视图,这是用户应该看到的新页面。
但是,在设备上多次重复此过程后,程序崩溃并显示 gdb 退出状态 101,我发现这是由内存不足错误引起的。
我尝试使用泄漏工具诊断此问题,但无济于事。只有 1 或 2 次小的内存泄漏,程序在设备上的总内存使用量仅为 2.5 mb。是否有可能是视频内存(而不是系统内存)运行不足?
我遇到了this 关于背景颜色和内存使用的帖子,但我需要进一步解释。我是否应该减少设置 backgroundColor 以防止 UIView 的 CALayer 占用过多内存?
【问题讨论】:
标签: iphone objective-c memory-leaks