我的 iphone 应用程序中的内存泄漏问题一直困扰着我很长一段时间。我觉得我必须错误地阅读我的数据。似乎每当我在其中分配内存时,都会有太多开销导致泄漏,以至于当我释放数据时,我的内存使用量几乎不会下降或根本不会下降。浪费了 2 天的时间是我的翻转视图控制器上的 UIWebview 加载了一个 url,我的应用程序的内存使用量从 3 mb 跳到了 7。我在我的 dealloc 方法中释放了 webview,但巨大的内存块仍然存在。有没有人有什么建议。
- (void)viewDidLoad {
self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor];
nav_bar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width+20,45)];
[self.view addSubview:nav_bar];
[UINavigationBar release];
rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(done)];
item = [[UINavigationItem alloc] initWithTitle:@"Flipside View"];
item.rightBarButtonItem = rightButton;
item.hidesBackButton = YES;
[nav_bar pushNavigationItem:item animated:NO];
[rightButton release];
[item release];
NSAutoreleasePool *initPool = [[NSAutoreleasePool alloc] init];
web_view = [[UIWebView alloc]initWithFrame:CGRectMake(0,45,self.view.frame.size.width,self.view.frame.size.height - 45)];
web_view.autoresizesSubviews = YES;
web_view.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
NSString *urlAddress = @"http://www.tutorialpark.com/wpcontent/uploads/3/HeartBlending.jpg";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[web_view loadRequest:requestObj];
[self.view addSubview:web_view];
[web_view release];
[initPool release];
[super viewDidLoad];
}
- (void)dealloc {
[nav_bar removeFromSuperview];
[web_view removeFromSuperview];
[rightButton release];
[super dealloc];
}
对于我现在非常生气并且不想处理它的缩进,我深表歉意。