2

Objective-C在 MonoTouch 中编写了一个非常简单的测试应用程序。应用程序将n UIWebView's 添加到空白处UIView(每个都UIWebView被初始化,加载 Google,并使用下面的代码添加为子视图)。使用MonoTouchvs.的内存消耗Objective-C如下:

内存消耗(Objective-C/MonoTouch):

  • 添加了 0 个 UIWebView:1.29 MB/2.01 MB
  • 添加了 1 个 UIWebView:3.61 MB/11.53 MB
  • 添加了 10 个 UIWebView:4.00 MB/37.19 MB

我的问题是,与等效Objective-C版本相比,MonoTouch 等效代码为何具有如此大的内存消耗开销,我能做些什么吗?我对有多个UIWebViews(即 10+)的情况特别感兴趣。

相关代码

C#/MonoTouch 版本

WebView = new UIWebView(new RectangleF(0, 100, UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height - 100)); 
WebView.LoadRequest(new NSUrlRequest(new NSUrl(@"http://www.google.ca"))); 
View.AddSubview(WebView);

Objective-C/XCode 版本

webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0f, 100.0f, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 100.0f)];
[webView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:@"http://www.google.ca"]]];
[self.view addSubview:webView];
4

0 回答 0