UIWebView 在加载 PDF 文件时没有释放内存
UIWebView not freeing the memory on loading PDF files
I am loading the pdf file (sizes: 15 MB) in UIWebView.
// If it is found, show it
[self.webView loadData:pdfData
MIMEType:@"application/pdf"
textEncodingName:@"UTF-8"
baseURL:nil];
问题是当我多次加载文件时,RAM 使用率升高,应用程序在某个时候崩溃。当我弹出视图控制器时,占用的 ram 没有得到释放。
只需在您的代码中添加三行,然后检查
-(void) dealloc
{
[self.webview cleanForDealloc];
self.webview = nil;
[super dealloc];
}
更新:
当我删除视图控制器时调用下面的方法。
-(void)webViewUnload {
[self.webView loadHTMLString:@"" baseURL:nil];
[self.webView stopLoading];
[self.webView setDelegate:nil];
[self.webView removeFromSuperview];
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
}
I am loading the pdf file (sizes: 15 MB) in UIWebView.
// If it is found, show it
[self.webView loadData:pdfData
MIMEType:@"application/pdf"
textEncodingName:@"UTF-8"
baseURL:nil];
问题是当我多次加载文件时,RAM 使用率升高,应用程序在某个时候崩溃。当我弹出视图控制器时,占用的 ram 没有得到释放。
只需在您的代码中添加三行,然后检查
-(void) dealloc
{
[self.webview cleanForDealloc];
self.webview = nil;
[super dealloc];
}
更新:
当我删除视图控制器时调用下面的方法。
-(void)webViewUnload {
[self.webView loadHTMLString:@"" baseURL:nil];
[self.webView stopLoading];
[self.webView setDelegate:nil];
[self.webView removeFromSuperview];
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
}