UIWebview 存在內(nèi)存泄露問題刽沾,iOS8以后傻工,蘋果推出了新框架Webkit,提供了替換UIWebView的組件WKWebView植酥。
WKWebView 在內(nèi)存占用上優(yōu)化的很多漱挚。但是在實(shí)踐中發(fā)現(xiàn)bug:localstorage信息不一致翔烁。
A頁面和B頁面都存在 一個WKWebView。 在B頁面使用localstorage保存信息旨涝。 回到A頁面取不到最新的數(shù)據(jù)租漂。
原因:
<a > wkwebviewconfiguration </a> 中有個屬性 processPool,描述是:The process pool from which to obtain the view’s Web Content process.
解決方法:
把config中的processPool變?yōu)閱卫蚕?/p>
+ (WKProcessPool*)singleWkProcessPool{
? ? staticWKProcessPool*sharedPool;
? ? staticdispatch_once_tonceToken;
? ? dispatch_once(&onceToken, ^{
? ? ? ? sharedPool = [[WKProcessPoolalloc]init];
? ? });
? ? returnsharedPool;
}
? WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
? config.processPool = [NYWKWebView singleWkProcessPool];
? self.webView = [[WKWebView alloc]initWithFrame:CGRectZero configuration:config];