Javascript WKWebView使用swift在iOS9中加载HTML内容的速度太慢
我一直在尝试将WKWebView集成为UIViewController中另一个webview的子视图。我已经能够加载内容并与swift和javascript正确通信。但是,在不进行任何数据操作的情况下加载HTML内容需要将近2秒的时间 我还测试了在不加载任何脚本的情况下,仅使用空HTML体加载WKWebView。这仍然需要600毫秒才能加载 viewDidLoad和webView(webView:WKWebView,didFinishNavigation:WKNavigation!)之间所用的时间差为600毫秒,即使HTML包含空正文 ViewController的viewDidLoad功能 VCWKWebView类:Javascript WKWebView使用swift在iOS9中加载HTML内容的速度太慢,javascript,ios,swift2,ios9,wkwebview,Javascript,Ios,Swift2,Ios9,Wkwebview,我一直在尝试将WKWebView集成为UIViewController中另一个webview的子视图。我已经能够加载内容并与swift和javascript正确通信。但是,在不进行任何数据操作的情况下加载HTML内容需要将近2秒的时间 我还测试了在不加载任何脚本的情况下,仅使用空HTML体加载WKWebView。这仍然需要600毫秒才能加载 viewDidLoad和webView(webView:WKWebView,didFinishNavigation:WKNavigation!)之间所用的时
class VCWKWebView: WKWebView {
static let wkProcess: WKProcessPool = WKProcessPool()
private static let _url: NSURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("index", ofType: "html",inDirectory:"www")!)
private static let _accessUrl: NSURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("www", ofType: nil)!)
func loadContent(){
NSLog("started - %@.%@", String(self.dynamicType), __FUNCTION__)
if #available(iOS 9.0, *) {
self.loadFileURL(VCWKWebView._url, allowingReadAccessToURL: VCWKWebView._accessUrl)
} else {
// Fallback on earlier versions
}
NSLog("ended - %@.%@", String(self.dynamicType), __FUNCTION__)
}
override init(frame: CGRect, configuration: WKWebViewConfiguration) {
super.init(frame:frame, configuration:configuration)
}
convenience init(frame: CGRect){
let wkConfiguration: WKWebViewConfiguration = WKWebViewConfiguration()
self.init(frame:frame,configuration:wkConfiguration)
}
deinit{
print("deinit of VCWKWebView is called")
}
}
有人能帮我集成WKWebView,以便更快地加载内容吗?发现了有用的东西吗?对于一些javascript密集型网页,我用WKWebView替换UIWebView时遇到了类似的问题。WKWebView的速度要慢得多,这似乎与所有关于它们的建议背道而驰。有人有什么想法吗?有没有想过解决WKWebView加载速度慢的问题?
class VCWKWebView: WKWebView {
static let wkProcess: WKProcessPool = WKProcessPool()
private static let _url: NSURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("index", ofType: "html",inDirectory:"www")!)
private static let _accessUrl: NSURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("www", ofType: nil)!)
func loadContent(){
NSLog("started - %@.%@", String(self.dynamicType), __FUNCTION__)
if #available(iOS 9.0, *) {
self.loadFileURL(VCWKWebView._url, allowingReadAccessToURL: VCWKWebView._accessUrl)
} else {
// Fallback on earlier versions
}
NSLog("ended - %@.%@", String(self.dynamicType), __FUNCTION__)
}
override init(frame: CGRect, configuration: WKWebViewConfiguration) {
super.init(frame:frame, configuration:configuration)
}
convenience init(frame: CGRect){
let wkConfiguration: WKWebViewConfiguration = WKWebViewConfiguration()
self.init(frame:frame,configuration:wkConfiguration)
}
deinit{
print("deinit of VCWKWebView is called")
}
}