내 iPad 앱에서언젠가 후에 앱이 다운됩니다 : - (void) viewDidUnload 메서드
나는 AQGridView를 사용하고 있습니다.
이 응용 프로그램은 모든 카드를 해당 카테고리와 일치시키는 데 관한 것입니다.
나는 세포를 지우고 있습니다.
방금 앱을 몇 분 동안 열어두면 은 깨지지 않습니다..
하지만 3 ~ 4 분 및 삭제 많은 세포는 방법으로 충돌을 받고위한 응용 프로그램을 재생하고있는 경우.
일부 기억 나는 하나 개의 어레이 내가 그것을 셔플하고있는 중이 야 imageMarray
전화가 내가 해결할 수 ...
누수.
보기로드.
imageMArray=[NSMutableArray initWithArray:CategoryImages];
imageMArray=[[self shuffleOnlyArray:imageMArray] retain];
shuffleOnlyArray 방법
-(NSMutableArray*)shuffleOnlyArray:(NSMutableArray*)sourceArray
{
NSMutableArray *destArray1 = [[[NSMutableArray alloc] initWithCapacity: [sourceArray count]] autorelease];
srandom(time(NULL));
while ([sourceArray count] != 0)
{
NSUInteger index = (NSUInteger)(random() % [sourceArray count]);
id item = [sourceArray objectAtIndex: index];
[destArray1 addObject: item];
[sourceArray removeObjectAtIndex:index];
}
[sourceArray release];
sourceArray=nil;
return destArray1;
}
과 셔플 방법에서 나는 자료를 작성해야
imageMArray=[[self shuffleOnlyArray:imageMArray] retain];
을 쓰고 있어요. 그래서 메모리 누수가 제거됩니다.
라인을 삭제 해 보셨습니까? – CodaFi
이전에는 viewDidUnload 메서드에서 다른 뷰 컨트롤러에서 충돌이 발생했습니다. 따라서이 메서드의 모든 행을 주석 처리했습니다. 이제 다른 뷰 컨트롤러에서 충돌합니다. –
이 항목을 nil로 설정하는 이유는 무엇입니까? ARC에서는 불필요하며 ARC가 없으면 간단한 릴리스 메시지로 충분합니다. – CodaFi