发现问题的根源。这是在下面的代码片段
UIImage *image = [UIImage imageNamed:imageFile];
cartoon = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 40.0, 320, 280)];
cartoon.image = image ;
cartoon.backgroundColor = [UIColor brownColor];
我有图像的100S加上每个页面上的一些文字和用户可以通过他们的手指轻弹(就像他们在iPhone中的照片应用做)滚动。我只在我的UIScrollView中创建3个页面,并加载/卸载(也释放)我明确分配的所有内容。因此,当发布漫画时,我只是发布卡通UIImageView,而不是UIImage,它认为它会被自动发布。
但似乎它不是被自动释放。我的应用程序获取内存警告(我不采取任何行动),操作系统卸载我的视图导致崩溃。
当我注释掉两行(下面的修改代码片段)时,问题就消失了。没有警告没有崩溃。
//UIImage *image = [UIImage imageNamed:imageFile];
cartoon = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 40.0, 320, 280)];
//cartoon.image = image ;
cartoon.backgroundColor = [UIColor brownColor];
有谁知道如何解决这个问题?当警告发生时,有没有办法从UIImage强制释放内存?
没有线索依然。也许'仪器'不能正确地报告我可能有的泄漏。是否有其他内存泄漏查找工具更可靠? – climbon 2010-03-05 15:34:49