我正在使用 Arc 对简单的 Xcode 页面基础应用程序进行一些测试。
我在 dataviewcontroller 中加载了一个 uiwebview,我一直在使用 Instruments 测试活动,当我滚动页面时,内存使用量不断上升,看起来以前的页面永远不会从内存中释放。
这是我对默认模板所做的更改。我已将模型修改为运行 240 页而不是 12 个默认值。
在 dataViewController 中,我以编程方式添加 uiwebview 并向 google 加载请求并将 webview 添加到控制器视图中。
内存使用量从大约 20Mb 开始,最终超过 70Mb,然后崩溃。
有人知道我哪里出错了吗?如何释放视图以释放内存?
修改代码如下:
数据视图控制器.h
#import <UIKit/UIKit.h>
@interface RXBDataViewController : UIViewController<UIWebViewDelegate>
{
UIWebView *pageContent;
}
@property (strong, nonatomic) IBOutlet UILabel *dataLabel;
@property (strong, nonatomic) id dataObject;
@end
数据视图控制器.m
#import "RXBDataViewController.h"
@interface RXBDataViewController ()
@end
@implementation RXBDataViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
pageContent = [[UIWebView alloc] initWithFrame:CGRectMake(8, 30, 260, 350)];
pageContent.userInteractionEnabled = NO;
[pageContent setDelegate:self];
[pageContent loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]]];
[self.view addSubview:pageContent];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.dataLabel.text = [self.dataObject description];
}
@end
提前感谢您的建议。