Animazioni che prendono memoria aggiuntiva
-
28-09-2019 - |
Domanda
Ho bisogno di utilizzare l'animazione nel mio iPad application.When utilizzare le animazioni la memoria è in aumento e ottenere exception..When lancio il mio applicazione la dimensione della memoria è di 10 MB, una volta che le animazioni sono avviati è in aumento la la dimensione della memoria fino a doppio dello spazio di lancio (è 30 MB). I test per l'accantonamenti e perdite tutto è perfetto, ma ancora ho avuto questo problema. Non so perché sta accadendo. Il mio codice animazione è come follows.Please aiutarmi.
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
if ([currentView superview])
{
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainView cache:YES];
[currentView removeFromSuperview];
[mainView addSubview:nextView];
}
[UIView commitAnimations];
Grazie in anticipo, Sekhar Bethalam.
Soluzione
Come sicuri sono che l'animazione sta causando la perdita?
Che cosa accade quando si aggiunge / subviews rimuovere senza l'animazione? È la perdita ancora lì?
Dove si trova nextView
inizializzato / rilasciato?
Che cosa è esattamente if ([currentView superview])
lo scopo di verificare la presenza di perché penso che sarà sempre return true?
Altri suggerimenti
Non sono sicuro se è il metodo stesso che sta aumentando l'utilizzo della memoria, ma probabilmente il vostro controller della vista che viene caricato in?
Prova anche l'aggiunta di queste righe nel tuo blocco animazione come credo che sia incoraggiato (per favore correggetemi se sbaglio) [CurrentView viewWillAppear: YES]; [CurrentView viewDidAppear: YES]; [MainView viewWillDisappear: YES]; [MainView viewDidDisappear: YES];
Anche io credo setAnimationTransition è ormai sconsigliato in IOS4 quindi forse provare a utilizzare + (Void) transitionWithView: (UIView *) vista Durata: (NSTimeInterval) opzioni di durata: (UIViewAnimationOptions) opzioni animazioni: (void (^) (void)) animazioni completo: (void (^) (BOOL finito)) il completamento