iphone - 为什么这段代码会产生内存泄漏?

标签 iphone memory-management memory-leaks instruments

Xcode 中的 Leaks Instrument 向我显示了内存泄漏。我已经评论了 Leaks 所提示的受影响的线路。但我在内存管理中没有看到错误......

- (void)setupViewController {
    MyViewController *myVC = [[MyViewController alloc] init];

    UITabBarItem *tbi = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:1];
    myVC.tabBarItem = tbi; // LEAK: 128 bytes

    self.myViewController = myVC;

    [myVC release];
    [tbi release];
}

我的意思是... tbi 和 myVC 最后被释放,并且 alloc 是平衡的。那么出了什么问题呢?我不明白。

最佳答案

如果 MyVc.tabBarItem 已设置,则它指向的任何内容都可能无法正确释放,从而导致泄漏。

关于iphone - 为什么这段代码会产生内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2268692/

相关文章:

iOS 内存管理问题

iphone - 如何使用常量解码位图

iphone - 您会在不进行设备测试的情况下发布您的应用程序吗?

iphone - OpenGL ES 2D - z 顺序、深度缓冲区与按顺序绘制

node.js - 部署到 Bluemix 的简单 node.js 应用程序似乎正在泄漏内存

html - 浏览器可以毫无问题地显示 html 元素的数量是否有任何限制?

.net - 创建大量 Sitecore 项目会导致内存泄漏

iphone - 应用程序崩溃:Bugsense将此输出作为错误提供:libsystem_c.dylib:749

objective-c - 单例的线程安全实例化

c++ - 我可以将 unsigned char* 转换为 unsigned int* 吗?