ios - 3 我不确定的泄漏?

标签 ios memory memory-management memory-leaks

在我的应用程序中,Leaks 报告说它在以下 3 个区域发生泄漏:

1

NSData *data = [theDictionary objectForKey:@"Item1"];
[image setImage:[UIImage imageWithData:data] forState:UIControlStateNormal];

2

此代码中的第三行

CGRect frame = self.view.frame;
frame.origin.x = CGRectGetMaxX(frame);
view3.view.frame = frame;
[self.view.superview addSubview:view3.view];
[UIView animateWithDuration:2
                 animations:^{
                     CGRect frame = self.view.frame;
                     view3.view.frame = frame;
                     frame.origin.x -= frame.size.width;
                     self.view.frame = frame;
                 }
                 completion:^(BOOL finished){
                     [self.view removeFromSuperview]; 
                     [self release];
                 }];

3

此代码中的第一行:

[self.view.superview addSubview:nlView.view];
    [nlView.view setFrame:CGRectMake(-kWidth, 0, kWidth, kHeight)];
    [UIView animateWithDuration:2.0
                     animations:^{
                         [nlView.view setFrame:CGRectMake(0, 0, kWidth, kHeight)];
                         [self.view setFrame:CGRectMake(kWidth, 0, kWidth, kHeight)];
                     }
                     completion:^(BOOL finished){
                         [self.view removeFromSuperview];
                         [self release];
                     }];

我可能已经通过[图像发布]修复了第一个问题;后来,但我认为这不是正确的方法。

对于 2 和 3,从我的角度来看,我什至没有看到任何泄漏,尽管 Leaks 说有。

谁能告诉我在哪里以及如何修复这些泄漏?

谢谢!

最佳答案

我猜你没有清理nlView和view3。

关于ios - 3 我不确定的泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8686250/

相关文章:

Java - 在运行时检测内存交换

ios - 如何在两个单元格之间传递数据

ios - iPhone CoreData 迁移失败, "Can' t 为源存储找到模型”

Python Tkinter - 如何使某些代码使用更少的内存

android - 为什么 HAXM 配置内存太低 "969 MB"?它与需要 1 GB RAM 的 AVD API 级别 23 不兼容

ios - 我收到内存警告并且我的应用程序崩溃了。它会杀死自动释放对象吗?

c - 关于C程序内存布局的问题

c++ - 将内存分配给一个指针,将另一个指针指向同一个指针并删除第二个

ios - Firebase使用Swift 3.0返回Optional()

iphone - 在后台运行时如何检测密码文本字段?