제거 된 뷰에 할당 된 removeFromSuperview 메모리를 호출하면 내가 혼동 스럽습니다. 그래서 여기 내 코드와 테스트 결과의 일부입니다. uiscrollview에 추가 된 uiscrollview 및 uiview가 있습니다. 그래서 내 uiscrollview 스크롤 할 때 나는 removefromsuperview를 호출하고 그 메모리가 공개 될 것이라고 기대한다.removefromsuperview에서 메모리를 해제하지 않습니다.
-(void) someFunction {
magazineContentView = [[MagazineContentView alloc] initWithFrame:CGRectMake(35 + 320 *i ,0,self.view.frame.size.width,self.view.frame.size.height)];
[_scrollView addSubview:magazineContentView];
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
[magazineContentView removeFromSuperview];
magazineContentView = nil;
}
magazineContentView가 올바르게 제거되었지만 메모리가 줄어들지 않습니다.
저는 ARC를 사용하지 않습니다.
감사합니다.
ARC를 사용하고 있습니까? 기억이 줄어들지 않았 음을 어디에서 확인하고 있습니까? 악기? 귀하의 질문에 모든 관련 세부 사항을 포함하십시오. – Sid
재생에 대한 감사, 아니요 ARC를 사용하지 마십시오. 표준 xcode 메모리 보고서를 사용하고 있습니다. 할당하기 전에 메모리 크기를 볼 수 있고, uiview를 추가하는 것은 8.5MB의 화면을 추가 한 후 9MB가되지만 uiscrollview에서이 뷰를 제거한 후에도 여전히 9MB를 유지합니다. 죄송합니다. 현재이 권한이없는 스크린을 첨부 할 수 없습니다. – Sergo