【发布时间】:2015-02-18 08:17:23
【问题描述】:
我正在开发一个 iOS 应用程序,它将在 wkWebView 中显示一些 360 度全景内容。该页面确实加载了,但是当它收到内存警告时,它在 iPad 2 上显示一个空白视图。
相关代码:
NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://360yerevan.com/mobilembed/91001/"] ];
NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
WKUserContentController *wkUController = [[WKUserContentController alloc] init];
[wkUController addUserScript:wkUScript];
WKWebViewConfiguration *wkWebConfig = [[WKWebViewConfiguration alloc] init];
wkWebConfig.userContentController = wkUController;
wkWebConfig.processPool = [[WKProcessPool alloc] init];
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:wkWebConfig];
[self.view addSubview:webView];
[webView loadRequest:req];
这在 iPhone 5/5S 上运行良好。
有什么想法吗?
【问题讨论】:
-
我也在调查这个问题。在我们的例子中,沙盒化的 WkWebView.WebContent 进程似乎正在崩溃,并在应用程序中留下空白屏幕。你在哪里看到内存警告,你能分享这些日志吗?我们在这里讨论这个问题:github.com/Telerik-Verified-Plugins/WKWebView/issues/41
-
也许你可以尝试保持对 webView 的强引用。
-
感谢@Yinfeng 你的回答很有帮助。