Chaque fois que je charge une nouvelle page avec UIWebView
la page avant chargée est affichée pendant une courte période.Comment supprimer le cache de UIWebview ou dealloc UIWebview
Comment puis-je effacer ce cache? Une autre possibilité serait de traiter UIWebview
. J'ai essayé cela mais mon UIWebView
est toujours "vide". Comment faire le alloc
et dealloc
dans ce cas? J'ai remarqué que le UIWebView
consomme environ 10 Mo de mémoire vive. Maintenant, le UIWebView
est chargé avec le ViewController
. Et la vue est autoreleased ainsi que le UIWebView
est autoeleased. Ne vaudrait-il pas mieux libérer le WebView à chaque fois?
Solution:
- (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'est-ce qu'exempleFrame, webViewBed et exampleView? Qu'est-ce que autoresizingMask? Je n'implémente pas le protocole 'UIWebViewDelegate' donc je n'ai pas besoin du délégué. 'addSubview' ne fonctionne pas pour moi, car' UIViewController' ne le supporte pas. Autant que je puisse voir, vous ne libérez pas la vue web sur 'viewDidDisappear'. Vous ne le supprimez que de la vue d'ensemble et la définissez sur "nil". J'ai essayé votre approche et je ne peux voir qu'un écran blanc. J'ai édité ma question pour que vous puissiez voir mon code. – testing
exampleFrame est juste la taille de l'UIWebView que vous créez. webViewBed ne devrait pas faire partie de cet exemple, il n'est pas utile dans ce contexte. exampleView est l'affichage auquel vous ajoutez UIWebView. Et bien sûr, vous ajoutez Ads() à Views, pas pour voir les contrôleurs. Vous devrez donc faire quelque chose comme [viewController.view addSubview: ...]. Je publie le webview, c'est une propriété (voir le "self."?) Ainsi vous pouvez le mettre à zéro et il sera libéré. – mips
Parfait !! C'est la seule solution sur Internet que j'ai trouvé à travailler !! – Ravikant