【发布时间】:2011-03-21 09:36:48
【问题描述】:
我有一个显示 UITextField 的视图控制器。我带键盘来了
- (void)viewDidAppear:(BOOL)animated
{
[wordTextField becomeFirstResponder];
}
然后我有一个按钮,它在不关闭控制器本身的情况下关闭键盘:
- (void)cancel:(id)sender
{
if([wordTextField isFirstResponder])
{
[wordTextField resignFirstResponder];
}
}
这个 Instruments 会在
上显示泄漏# Category Event Type Timestamp RefCt Address Size Responsible Library Responsible Caller
0 Malloc 128 Bytes Malloc 00:11.239 1 0x3b82550 128 UIKit UIKeyboardInputManagerClassForInputMode
提到的堆栈中的某处[wordTextField resignFirstResponder]。
即使我自己不带键盘让用户触发它,我仍然有泄漏。在这种情况下,堆栈中没有提到我的代码。
【问题讨论】:
-
只是为了测试,我用单个
UITextField创建了新的基于视图的项目,仅此而已。点击文本字段会弹出 kbd 并导致上面提到的内存泄漏。我正在使用 Instruments 2.1 和 Xcode 3.2.2。我应该忽略这个泄漏吗? -
模拟器还是设备?如果是设备,请发布示例项目,很好奇。
-
它是模拟器,但仍有兴趣确定。今天晚些时候将在设备上检查。除了我原始项目中的这个,我还有 2 个
open_handle_to_dylib_path,据我从谷歌搜索了解,这可能是模拟器的误报。但找不到任何关于UIKeyboardInputManagerClassForInputMode的信息,所以可能是严重问题。
标签: iphone memory-leaks