2010-08-14 2 views
0

내 iPad 응용 프로그램에서 애니메이션을 사용해야합니다. 애니메이션을 사용하면 메모리가 증가하고 예외가 발생합니다. 응용 프로그램을 시작하면 애니메이션 크기가 10MB가됩니다. 그것은 발사 공간 (그것은 30 메가 바이트)의 두 배까지 메모리 크기를 증가시키고 있습니다. 나는 할당과 누출을 테스트하지만 모든 것이 완벽하지만 여전히이 문제가있다. 나는 왜 그것이 일어나고 있는지 모른다. 내 애니메이션 코드는 다음과 같습니다. 제발 도와주세요. 사전에여분의 메모리를 사용하는 애니메이션

 [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]; 

감사합니다, Sekhar Bethalam.

답변

0

애니메이션이 누출의 원인인지 확인하십시오.

애니메이션없이 하위보기를 추가/제거하면 어떻게됩니까? 아직 그 누수가 있나?

nextView은 초기화 되었습니까?

정확하게는 if ([currentView superview])은 항상 True를 반환한다고 생각하기 때문에 확인해야 할 사항은 무엇입니까?

0

메모리 사용량은 늘리고 있지만로드중인보기 컨트롤러가 증가하는 자체 방법인지 확실하지 않습니다.

애니메이션 블록에이 줄을 추가하는 것이 좋습니다. (내가 잘못하면 나를 바로 잡으십시오.) [currentView viewWillAppear : YES]; [currentView viewDidAppear : YES]; [mainView viewWillDisappear : YES]; [mainView viewDidDisappear : YES];

이 또한 내가 setAnimationTransition 이제 어쩌면 + (무효) transitionWithView를 사용해보십시오 IOS4에 권장하지 않습니다 믿고 : (UIView의 *)보기 시간 : (NSTimeInterval) 기간 옵션 : (UIViewAnimationOptions) 옵션 애니메이션 : (무효 (^) (무효)) 애니메이션 완료 : (void (^) (BOOL finished)) 완료