Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIWebView组件的启动时间?_Ios_Performance_Uiwebview_Xamarin.ios_Ios Simulator - Fatal编程技术网

Ios UIWebView组件的启动时间?

Ios UIWebView组件的启动时间?,ios,performance,uiwebview,xamarin.ios,ios-simulator,Ios,Performance,Uiwebview,Xamarin.ios,Ios Simulator,对于iOS应用程序(用C#/MonoTouch编写),我使用UIWebView动态呈现一些内容。虽然这很好,但我遇到了一个恼人的问题:第一次使用UIWebView(自应用程序启动以来),显示任何内容都需要几秒钟。这能克服吗 我不“回收”实例化的UIWebView,在每个使用UIWebView的屏幕上,我创建一个新的viewcontroller/UIWebView组合 我尝试在appdelegate中实例化一个随机UIWebView,但没有产生任何效果(可能是因为它不可见) 谢谢 您想使用以下方法

对于iOS应用程序(用C#/MonoTouch编写),我使用UIWebView动态呈现一些内容。虽然这很好,但我遇到了一个恼人的问题:第一次使用UIWebView(自应用程序启动以来),显示任何内容都需要几秒钟。这能克服吗

我不“回收”实例化的UIWebView,在每个使用UIWebView的屏幕上,我创建一个新的viewcontroller/UIWebView组合

我尝试在appdelegate中实例化一个随机UIWebView,但没有产生任何效果(可能是因为它不可见)


谢谢

您想使用以下方法:

-(void)webViewDidStartLoad:(UIWebView *)webView


-(void)webViewDidFinishLoad:(UIWebView *)webView
在这些方法中添加条件,然后您可以让ViewController在加载网页时执行操作。

首先,您最好使用Apple的仪器来准确地找出时间的去向

我怀疑这至少部分来自于在应用程序进程中加载和初始化web浏览器库。这将是一个一次性的价格,听起来与你的描述相似

如果确实是这样,那么您可以在启动应用程序时预加载库,例如在单独的线程中(但注意不要调用任何线程敏感代码)


这将使第一次使用时间与第二次(以及以后)使用时间相似。由于该初始化将在单独的线程上完成,因此不会对应用程序初始化产生太大影响(至少在多核设备上)。

WebView内容是本地的还是远程的?非常感谢。使用Instruments工具,我发现UIWebView中加载的JavaScript导致了这种情况。没有加载Js使得UIWebView启动得非常快。旁注:问题本身仍然很奇怪,加载的js(jquery.mobile,minified)只有在应用启动后加载的第一个html中加载时才会变慢。如果我在另一个随机html中加载它,它的加载速度非常快。奇怪…@RobinDiederen我很高兴它有帮助:-)请花时间投票或接受答案(见常见问题),这样对其他人也会有用。欢迎来到stackoverflow!