NSXMLParser를 사용하여 구문 분석 알고리즘을 작성합니다. 최소 내 기억 사용량을 유지하기위한 최상의 전략은 무엇인지 의심스러워합니다.큰 XML 용 NSXMLParser iPhone 메모리 전략
XML을 구문 분석하는 동안이 객체의 노드가 가로 지르면 임시 Person 객체를 연속적으로 할당하고 해제하면서이 객체의 NSString 속성은 30 개입니다 (예 : "Person"). 이것을 검사했는데 언제든지 인스턴스화 된 Person 객체 중 하나만 존재합니다. 노드가 지나가고 사람이 "빌드"되면 사람을 NSMutableArray에 전달하고이 사람을 해제합니다. 거기에 아무런 문제가없는 것 같습니다. (내가 tableView에 대한 배열이 필요합니다). 배열에서 약 50 개 이상의 Person 객체에 접근하면 내 응용 프로그램이 종료되고 didReceiveMemoryWarning이 호출되지 않고 다른 경고도없고 parseErrorOccurred가 발생하지 않습니다.
xml의 사람 수를 제한하면 응용 프로그램이 정상적으로 작동하지만 Instruments에서 메모리 누수를 찾지 못했습니다. 배열에 50 개 이상의 Person 객체를 저장할 수 없다고 생각합니다. 약간 가혹한 것 같지만, 아이폰에 대한 많은 경험이 없습니다. 그래서 이것은 단지 추측입니다.
xml은 사용자가 아마 몇 개만 필요로하는 검색 결과입니다. 따라서 xml은 내 핵심 모델을 계속 유지하여 디스플레이를 유지하기 위해 약간 미친 것처럼 보입니다.
이 Person 오브젝트를 유지하는 좋은 전략은 무엇입니까? 또는 나는 아이폰이 이것보다 더 많은 것을 처리 할 수 있어야하기 때문에 엄청난 메모리 누출을 놓치고 있는가?
희망 일부 숙련 된 개발자는 올바른 방향으로 날 지점 수 :
감사합니다!
일부 샘플 코드는 내가 그 방법으로 몇 가지 통찰력을 찾고 있었다 도움이 – ACBurk