【发布时间】:2016-05-12 06:39:31
【问题描述】:
我正在我的webView 上加载本地存储的 html(带有 javascript 的文件)文件。这些文件加载在我的ViewController.swift 中。但是,第一次启动应用程序时会有约 2-3 秒的延迟。我已经在网上搜索了解决此问题的方法,使用我观察到的方法(第一次加载 webView 延迟了资源的加载),我决定在我的 ViewController 中使用 NSNotificationCenter 并打电话给他们来自“AppDelegate”,以便第一次加载webView。
在我的代码中实现这些更改后,应用程序的LaunchScreen 出现延迟,这与我在这里加载文件的预期一样,但是,ViewController 的加载时间仍然相同。
我正在调用通知
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
NSNotificationCenter.defaultCenter().postNotificationName("loadDefaultWebViewID",object:nil)
return true
}
ViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "loadDefaultWebView:", name: "loadDefaultWebViewID", object: nil)
if let htmlURL = NSBundle.mainBundle().URLForResource("index", withExtension: "html") {
let requestObject = NSURLRequest(URL: htmlURL)
webViewHTML5Player.loadRequest(requestObject)
}
我希望减少ViewController 上的延迟。如果这不是正确的方法,是否有其他更好的优化方法来完成此任务?
编辑 1
为此我已经尝试使用WKWebView(with preferences.javaScriptEnabled = true) 和UIWebView,加载时间仍然相同。
【问题讨论】:
标签: javascript ios swift webview