Mỗi khi tôi tải một trang mới với UIWebView
trang được tải trước sẽ được hiển thị trong một thời gian ngắn.Cách xóa bộ nhớ cache khỏi UIWebview hoặc dealloc UIWebview
Làm cách nào để xóa bộ nhớ cache đó? Một khả năng khác là để giải quyết UIWebview
. Tôi đã thử nhưng hơn UIWebView
của tôi luôn là "trống". Làm thế nào để alloc
và dealloc
được thực hiện trong trường hợp này?
Tôi nhận thấy rằng UIWebView
tiêu thụ khoảng 10 MB RAM. Bây giờ, UIWebView
được tải cùng với ViewController
. Và chế độ xem được tự động phát hành cũng như UIWebView
được tự động phát hành. Nó sẽ không được tốt hơn để dealloc WebView mỗi lần?
Giải pháp:
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
CGRect frame = CGRectMake(0, 0, 320, 480);
self.webView = [[[UIWebView alloc]initWithFrame:frame] autorelease];
self.webView.scalesPageToFit = YES;
[self.view addSubview:self.webView];
}
- (void) viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[self.webView removeFromSuperview];
self.webView = nil;
}
ExampleFrame, webViewBed và exampleView là gì? AutoresizingMask là gì? Tôi không thực hiện giao thức 'UIWebViewDelegate' vì vậy tôi không cần đại biểu. 'addSubview' không hoạt động với tôi, bởi vì' UIViewController' của tôi không hỗ trợ điều này. Theo tôi có thể thấy bạn không phát hành chế độ xem web trên 'viewDidDisappear'. Bạn chỉ xóa nó khỏi phần giám sát và đặt nó thành 'nil'. Tôi đã thử cách tiếp cận của bạn và tôi chỉ có thể nhìn thấy một màn hình trắng. Tôi đã chỉnh sửa câu hỏi của tôi để bạn có thể xem mã của tôi. – testing
exampleFrame chỉ là kích thước của UIWebView bạn đang tạo. webViewBed không phải là một phần của ví dụ này, nó không hữu ích trong ngữ cảnh này. exampleView là chế độ xem bạn đang thêm UIWebView vào. Và tất nhiên, bạn thêmSubview() s vào dạng xem, không phải để xem bộ điều khiển. Vì vậy, bạn sẽ phải làm một cái gì đó như [viewController.view addSubview: ...]. Tôi đang phát hành webview, đó là một tài sản (xem "tự".?) Vì vậy, bạn có thể thiết lập nó để nil và nó sẽ được phát hành. – mips
Hoàn hảo !! Đây là giải pháp duy nhất trên internet mà tôi tìm được để làm việc !! – Ravikant