UIWebView快速滚动显示大图像导致内存警告崩溃

时间:2016-03-12 04:51:02

标签: ios xcode uiwebview

当我在iPhone6 Plus (iOS 8.4.1,Xcode 7.2.1)上测试我的应用时,我发现当我滚动webView FAST (缓慢滚动没有任何错误)显示两个大图像时,我收到内存警告并且它崩溃了。(该页面也充满了大量其他小图片)

iPhone4s(iOS 7.1)iPhone5s(iOS 9.2.1)执行相同的操作没有问题。

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];
[_webView loadRequest:request];

我尝试这个来修复内存警告,但仍无法正常工作

    - (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [self fixMemoryWarningCrashMethod];
}
    - (void)fixMemoryWarningCrashMethod
{
    [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"];
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitDiskImageCacheEnabled"];
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitOfflineWebApplicationCacheEnabled"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

1 个答案:

答案 0 :(得分:0)

在我不遗余力地解决这个问题之后,包括清理内存和磁盘中的缓存,UIWebView确实存在高内存占用现象 - 问题。所以我将它留给html开发人员使页面适合大 - 屏幕iPhone