Cada vez que carga una página nueva con UIWebView
, la página cargada anteriormente se muestra durante un breve período de tiempo.Cómo eliminar la memoria caché de UIWebview o dealloc UIWebview
¿Cómo puedo borrar ese caché? Otra posibilidad sería dealloc UIWebview
. Lo intenté pero mi UIWebView
siempre está "vacío". ¿Cómo se deben hacer alloc
y dealloc
en este caso?
Me di cuenta de que el UIWebView
consume aproximadamente 10 MB de RAM. Ahora el UIWebView
se carga junto con el ViewController
. Y la vista se libera automáticamente y se libera automáticamente el UIWebView
. ¿No sería mejor tratar el WebView cada vez?
Solución:
- (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;
}
¿Qué es exampleFrame, webViewBed y exampleView? ¿Qué está autorizando Mask? No implemento el protocolo 'UIWebViewDelegate', así que no necesito el delegado. 'addSubview' no funciona para mí, porque mi' UIViewController' no es compatible con esto. Por lo que puedo ver, no estás liberando la vista web en 'viewDidDisappear'. Solo lo elimina de la supervista y lo establece en 'nil'. Probé tu enfoque y solo puedo ver una pantalla blanca. Edité mi pregunta para que puedas ver mi código. – testing
exampleFrame es solo el tamaño de UIWebView que está creando. webViewBed no debe formar parte de este ejemplo, no es útil en este contexto. exampleView es la vista a la que está agregando UIWebView. Y, por supuesto, agregaSubview() a Vistas, no para ver controladores. Entonces tendrá que hacer algo como [viewController.view addSubview: ...]. Estoy publicando la vista web, es una propiedad (vea el "sí mismo") para que pueda establecerla en cero y se lance. – mips
¡Perfecto! ¡Esta es la única solución en Internet que he encontrado que funcionaba! – Ravikant