3

iOS アプリ (C# / MonoTouch で作成) の場合、UIWebView を使用して一部のコンテンツを動的にレンダリングしています。これは問題なく機能しますが、厄介な問題が 1 つあります。UIWebView を初めて使用するとき (アプリの起動後)、コンテンツを表示するのに数秒かかります。これは克服できますか?

インスタンス化された UIWebView を「リサイクル」しません。UIWebView を使用する各画面で、新しいビューコントローラーと UIWebView の組み合わせを作成します。

appdelegate でランダムな UIWebView をインスタンス化しようとしましたが、効果がありません (おそらく表示されていないため)。

ありがとう!

4

2 に答える 2

4

まず、Apple の Instruments を起動して、時間がどこに行くのかを正確に把握することをお勧めます。

これは、少なくとも部分的には、アプリケーション プロセスで Web ブラウザー ライブラリを読み込んで初期化することが原因であると思われます。それはあなたの説明に似ているように聞こえるワンショット価格です。

その場合は、アプリケーションの起動時にライブラリを事前に読み込むことができる場合があります。たとえば、別のスレッドで (ただし、スレッドに依存するコードを呼び出さないように注意してください)。

これにより、最初の使用時間が 2 回(およびそれ以降) と同様になります。その初期化は別のスレッドで行われるため、(少なくともマルチコア デバイスでは) アプリケーションの初期化にあまり影響を与えるべきではありません。

于 2012-12-31T17:49:52.560 に答える
1

これらの方法で遊んでみたい:

-(void)webViewDidStartLoad:(UIWebView *)webView


-(void)webViewDidFinishLoad:(UIWebView *)webView

これらのメソッドに条件を追加すると、Web ページの読み込み中に ViewController に処理をさせることができます。

于 2012-12-31T00:08:57.983 に答える