应用内浏览器增加了iOS中的内存消耗

时间:2014-06-17 07:03:15

标签: ios objective-c memory-management memory-leaks

在我的应用中,用户可以访问链接。我使用应用内浏览器。但是当用户访问该站点时,内存消耗从25MB增加到50MB,即使用户关闭浏览器或返回上一屏幕也不会减少。

以下是我用来打开浏览器的简单代码:

    AppMainBrowserViewController *mainBrowser = [[AppMainBrowserViewController alloc] initWithNibName:@"AppMainBrowserViewController" bundle:nil];
    mainBrowser.urlString = urlString;
    [self.navigationController pushViewController:mainBrowser animated:YES];

在我的AppMainBrowserViewController

if ([InternetDetector isNetAvailable]) {

    if (self.processingIndicatorAlertView == Nil) {
        [self showIndicatorView];
    }

    //Request
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.urlString]];
    [self.mainWebView loadRequest:request];
} else {

    UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:ALERT_TITLE_MSG message:INTERNET_NOT_FOUND_MSG delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [errorAlert show];
}

我哪里错了?

1 个答案:

答案 0 :(得分:0)

最有可能的原因是NSURLCache的缓存。在启动应用程序内浏览器之前尝试将缓存设置为0:

 int cacheSizeMemory = 0; 
    int cacheSizeDisk = 0; 
    NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"];
    [NSURLCache setSharedURLCache:sharedCache];