版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gilgamesho/article/details/51456509
问题描述
- 前提 : 用UIWebView加载网页时
Bug现象:内存占用率越用越大,无法释放 ,导致闪退
解决方式 : 添加以下设置
//加入Apple原生WebKit库
#import <WebKit/WebKit.h>
//定义属性
@property (strong, nonatomic) UIView * webView;
//懒加载
-(UIView *)webView
{
if (!_webView) {
//iOS 8以上优化webView加载方式
#if OS_VERSION < 8
//创建WebView
UIView * webView = [[WKWebView alloc]initWithFrame:self.view.frame];
#else
//创建WebView
UIView * webView = [[UIWebView alloc]initWithFrame:self.view.frame];
#endif
[self.view addSubview:webView];
_webView = webView;
}
return _webView;
}
//方法调用
-(void)showWebView:(NSString *)URL
{
//创建请求
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URL]];
//判断iOS版本
#if OS_VERSION < 8
//加载
[(WKWebView *)self.webView loadRequest:request];
// NSLog(@"WKWebView");
#else
//加载
[(UIWebView *)self.webView loadRequest:request];
// NSLog(@"UIWebViewUIWebView");
#endif
}
注意点:
#if OS_VERSION < 8
是编译时判断,- [[UIDevice currentDevice].systemVersion doubleValue] >= 8.0是运行时判断
- WKWebView是iOS8.0 开始支持,用来代替UIWebView
- UIWebView内存泄漏问题无解,网上存在的方法没什么用,