对于iOS应用程序(用C#/ MonoTouch编写)我正在使用UIWebView动态呈现一些内容。虽然这很好用,但我遇到了一个恼人的问题:第一次使用UIWebView(自应用启动以来),显示任何内容需要几秒钟。这可以克服吗?
我没有“回收”实例化的UIWebView,在每个屏幕上我使用UIWebView,我创建了一个新的viewcontroller / UIWebView组合。
我试图在我的appdelegate中实例化一个随机的UIWebView,但这不会产生任何影响(也许是因为它不可见)。
谢谢!
答案 0 :(得分:4)
首先,你最好fire out Apple的仪器找出确切的时间。
我怀疑这至少部分来自于在您的申请流程中加载和初始化Web浏览器库。这将是一个一次性价格,这听起来与您的描述类似。
如果确实如此,那么您可以预加载库,例如在启动应用程序时,在一个单独的线程中(但注意不要调用任何线程敏感的代码)。
这应该使第一次使用时间类似于第二次(及更多次)。由于初始化将在一个单独的线程上完成,因此它不应该对应用程序初始化造成太大影响(至少在多核设备上)。
答案 1 :(得分:1)
您想要使用这些方法:
-(void)webViewDidStartLoad:(UIWebView *)webView
-(void)webViewDidFinishLoad:(UIWebView *)webView
在这些方法中添加条件,然后您可以让ViewController在网页加载时执行操作。