2010-07-11 11 views
0

아이폰 응용 프로그램이 있습니다. Xcode 3.2.3 및 iphone SDK4를 사용하고 있습니다.응용 프로그램이 활성화 될 때 응용 프로그램 충돌이 발생합니다.

응용 프로그램은이 XCode 버전에 빌드 된 모든 응용 프로그램에서 멀티 태스킹을 지원합니다. 내 응용 프로그램은 백그라운드로 들어가 아무런 문제없이 활성화됩니다. 여기에 가치가없는 한 가지는 응용 프로그램이 활성화 될 때 필요한 정보를 저장할 필요가 없다는 것입니다.

바로 여기 진짜 질문이옵니다. 응용 프로그램이 작동하는 경우 다른 응용 프로그램을 재생하여 메모리가 소모되지 않습니다.

예를 들어, 응용 프로그램을 사용하고 일부 게임 응용 프로그램을 사용한 다음 응용 프로그램을 사용하면 메모리 경고 수준 1과 때로는 수준 2와 충돌이 발생합니다.

누구나 좋습니다.

감사합니다.

+0

을 사용하여 앱을 할당 할 수 있습니다. iOS에서 애플리케이션을 백그라운드로 실행하는 동안 삭제하려고 결정한 일부 개체를 참조하는 것처럼 들립니다. 응용 프로그램이 충돌하는 위치를 찾으십시오. 여기에 게시하면 더 자세한 도움을 얻을 수 있습니다. 그렇지 않으면 그것은 단지 추측 일 것입니다. –

+0

안녕하세요, 귀하의 회신에 감사드립니다. 이것이 스택 트레이스를 곧 게시 할 것이므로, 이것은 오랜 시간 나를 미치게합니다. – Leo

+0

@Claus : iOS가 개체를 제거하지 않기 때문에 응용 프로그램이 개체를 제거합니다. iOS는 메모리 알림 만 보내고 그에 따라 앱이 응답합니다. 문제는 아마도 해제 된 객체에 대한 참조 일 가능성이 큽니다. –

답변

0

귀하의 의견에 따르면, webData를 두 번 릴리스하는 것처럼 들립니다. 정상적인 정리 중 한 번, 그리고 낮은 메모리로 인해 정리 중.

webData 변수를 해제 한 후 nil로 설정했는지 확인하십시오. 그렇게하면 두 번째로 해제하려고해도 무해합니다. 또는 속성을 통해 속성에 액세스 한 다음 self.webData = nil

+0

감사합니다. Claus. 매우 감사. 당신은 절대적으로 옳습니다. connectionDidFinishLoading 후 webData를 릴리스합니다. 이 상황에서 당신은 무엇을 추천합니까? 이런 식으로해야합니까? [webData release]; self.webData = nil; 또는해야합니까 self.webData = nil; – Leo

+0

속성을 사용하는지 여부에 따라 다릅니다. 속성을 사용하는 경우 self.webData = nil이 트릭을 수행합니다. 속성을 사용하지 않는 경우 webData = nil로 설정해야합니다. –

+0

안녕 클로스, 고마워. 나는 특성을 사용하고있다. 그래서 [webData release]에서 코드를 변경했습니다. ~ self.webData = nil; 내 장치에 새 앱을 설치했습니다. 나는 내일 하루 종일 이것을 시험 할 것이다. 문제가 생기면 알려 드리겠습니다. 다시 한번 감사합니다. 나는 내일 답글로 질문을 표시 할 것이다 :) – Leo

0

크래시에 대해 자세히 알아 보려면 디버거를 사용하십시오. 스택 추적은 충돌이 발생한 위치를 표시합니다.

시뮬레이터에서 메뉴를 사용하여 낮은 메모리 조건을 시뮬레이션 할 수 있습니다.

관련 문제