2009-12-22 6 views
0

Snow Leopard (10.6.2) 및 Xcode (3.2.1)로 iPhone 응용 프로그램을 개발했습니다. 많은 사람들이 알고 있듯이이 새로운 Xcode 버전에서는 메모리 누수 및 기타 문제를 확인하기 위해 Build and Analyze 기능을 제공합니다. 내 응용 프로그램을 빌드하고 분석 할 때 오류가 발생하지 않거나 경고가 표시되지 않습니다.iPhone에서 + 응용 프로그램 충돌이 발생했습니다.

내 응용 프로그램도 시뮬레이터에서 잘 실행됩니다.

이제 8GB 메모리가 장착 된 iPhone 장치 (장치 구성 : iPhone 2G 및 iPhone OS 3.0)에서 응용 프로그램을 테스트하려고합니다.

문제는 응용 프로그램이 iPhone 장치에서 잘 시작되지만 잠시 후 충돌이 발생한다는 것입니다.

윈도우 -> 구성 도우미 -> 콘솔에서 콘솔을 볼 수 있습니다. 다음 오류가 표시됩니다 :

Tue Dec 22 17:17:39 unknown SpringBoard [27] : 메모리 레벨이 긴급 (8 %)이며 종료를 요청할 배경 앱이 없습니다.

도와주세요.

안부, Pratik

+0

응용 프로그램에서 메모리 누수가 있거나 너무 많은 리소스 (예 : 큰 파일을 메모리로로드)를 사용 중입니다. 그러나 코드가 없으면 귀하를 도울 수 없습니다. – CharlieP

+0

셔츠 없음, 신발 없음, 코드 없음 : 서비스 불가. –

답변

2

분석기는 가장 확실한 메모리 문제 만 탐지합니다. 계기 누출 검사를 통해 앱을 빠르게 실행해야합니다. 이동 실행

은 -> 성능 도구를 실행 -

악기가 시작됩니다 당신이 전에 그것을 사용하지 않은 경우가 매우 혼란 나타납니다> 누출. 현재 상황에 대한 자세한 설명은 Instruments 문서를 참조하십시오.

앱에 많은 누수가 있고 악기로 인해 가장 힘든 메모리 문제를 찾아서 디버깅 할 수 있습니다.

0

는 분명히 디바이스는 메모리가 부족하여 응용 프로그램이 살해된다. 즉, 응용 프로그램이 너무 많은 메모리를 사용하는 것입니다. 어떤 이유로 10 배 이상의 RAM이 탑재 된 데스크톱 시스템의 시뮬레이터에서 앱이 제대로 실행되는지 설명합니다.

OS의 메모리 부족 메시지는 무시할 수 있습니다. 애플리케이션의 메모리 사용량을 확인해야합니다.

+0

Mavrik, 저는 이미 메모리 누출을 확인하기 위해 Build/Analyze를하고 있습니다. 오류/경고가 나타나지 않습니다. 이는 메모리 검사를하고 있음을 의미합니다. 그 밖의 어떤 메모리 검사를해야합니까?알려주십시오 – pratik

+1

메모리 누수에 대해서만 이야기하는 것이 아닙니다. 어쩌면 메모리 누수가 없어도 큰 이미지를로드하고 iPhone 메모리가 부족합니다. 메모리 누수가 아니기 때문에 (여전히 이미지가 들어있는 메모리를 추적 할 수는 있지만) iPhone이 메모리가 부족하여 응용 프로그램이 계속 죽을 수 있습니다. 그게 내가 메모리를 확인한 것입니다 : 프로파일 러나 체크 코드를 사용하여 메모리를 많이 사용하는 것을로드하는지 확인하십시오. 실제 코드가 없으면 더 나은 조언을 드릴 수 없습니다. – Mavrik

0

분석기를 100 % 신뢰할 수 없습니다. 가양 성 (false positive)을 유발할 수 있으며, 어떤 경우에는 코드에서 오류가 발생하지 않습니다. 큰 도움이 되긴하지만 결코 "버그 수정을위한 원 스톱 숍"이 아닙니다.

또한 분석기에서 누출이 없음을 보여줄 수도 있지만 메모리를 전혀 공개하지 않을 수도 있습니다. CharlieP가 말했듯이, 우리는 어떤 코드도없이 당신을 도울 수 없습니다.

개체를 완전히 공개하지 못하게하는 순환 유지주기가있을 수 있습니다. 물론 이것은 많은 다양한 가능성 중 하나 일뿐입니다. 코드를 볼 필요가 있습니다.

관련 문제