【发布时间】:2011-06-06 02:20:48
【问题描述】:
我的应用程序中出现了一个非常奇怪的内存管理问题。我有一个 UISplitViewController appps,其中 RootViewController 是一个 UITabBarApplication。错误:
*** -[UIImage retain]: message sent to deallocated instance 0x555960
当我尝试通过点击标签栏按钮来切换视图时,总是会发生这种情况。我在按钮上有三个标签栏按钮。我的代码中也没有任何对 UIImage 保留的调用。
有人对如何调试有任何提示吗?我不知道如何具体重现这一点,我只知道当我在标签之间切换时有时会发生这种情况。
调试器在以下位置中断:
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, @"CVore", nil);
[pool release];
return retVal;
}
更新: 我收到了内存警告。 Level=1,然后当我切换标签时,它给了我这个错误。
【问题讨论】:
-
为什么要发布这个? [头像发布];
-
它缺少一些代码,实际上这不是问题,因为我删除了所有 TTImageView 并且问题仍然存在
-
你能把调试器停止执行的那一行贴出来吗?
-
虽然我认为这不会有太大帮助...但我更新了我上面的帖子..我一直在删除我可以在我的应用程序中找到的尽可能多的 UIImage,但它仍然给了我这个错误..很奇怪
-
好的。我想帮助你,但很难知道。你有没有像 MyObject *object; 这样声明但没有初始化的对象?而是 MyObject *object=nil; ?可能是您的问题不在 UIImage 中。
标签: iphone objective-c memory-management