我的应用大量使用了iOS 7和8中的UIWebView。我经常收到崩溃报告,影响到与Web Core相关的少数用户。正如其他答案所建议的那样,我已经将webview委托(delegate)设置为nil,当其 View Controller 消失时。但是,我仍然遇到无数次崩溃,例如:

WebCore::SharedBuffer::clear()
WebCore::TimerBase::updateHeapIfNeeded(double)
WebCore::WebVideoFullscreenModelMediaElement::updateForEventName
WebCore::HTMLMediaElement::seekTimerFired
WebCore::EventTarget::fireEventListeners
WebCore::CachedResource::unregisterHandle
WebCore::CSSFontSelector::~CSSFontSelector()
WebCore::MediaQueryMatcher::styleResolverChanged

我每天有几千个用户,但是由于上面的堆栈跟踪,每天可能会发生5次崩溃,所以我永远无法重现。我还能做些什么来防止UIWebView崩溃?

最佳答案

您是否在某些地方使用带有委托(delegate)的UIWebView实例?是否尝试在 View Controller 或 View 的dealloc方法中使委托(delegate)无效?

- (void)dealloc
{
    self.webView.delegate = nil;
}

无论您使用的是ARC还是非ARC,这都是非常重要的。

关于ios - 如何修复UIWebView中的WebCore崩溃?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26457204/

10-11 14:24