Objective-C
MonoTouchで記述された非常に単純なテスト アプリケーションがあります。アプリケーションはn
UIWebView
空白に を追加しますUIView
(それぞれUIWebView
が初期化され、Google が読み込まれ、以下のコードを使用してサブビューとして追加されます)。MonoTouch
vs.を使用したメモリ消費量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
私の質問は、MonoTouch の同等のコードが、同等のObjective-C
バージョンと比較してメモリ消費のオーバーヘッドが非常に大きいのはなぜですか。それについて何かできることはありますか? UIWebView
複数の s (つまり 10+)がある場合に特に興味があります。
関連コード
C#/モノタッチ版
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];