2012-10-02 2 views
1

내 응용 프로그램에서 arcgis sdk를 사용했습니다. 3 개의 다른지도가 있으므로 3 개의 타일 된지도 서비스 레이어를 사용했습니다. 또한지도에서 선택한 특정 지역의 심볼을 표시하는 그래픽 레이어가 있습니다. 내 앱; 먼저 자격 증명으로 서비스를 연결 한 다음 레이어를 맵보기에 추가합니다. 지금까지 아무런 문제가 없습니다. 모든 레이어를로드 한 후 AGSQueryTask 및 AGSIdify 작업을 일부 쿼리 작업에 사용하기 시작했습니다. 여기서 문제가 시작됩니다. 디버거에서 "받은 메모리 경고. 레벨 = 1"이라고 표시됩니다. 나는 줌/팬 및 추가 쿼리 작업을 계속합니다. 잠시 후 오류없이 내 응용 프로그램이 중단됩니다. 내 코드를 검토하고 내 문제에 대해 봤지만 arcgis 포럼을 둘러 보았지만 해결책과 좋은 설명을 찾지 못했습니다. 나는 3지도가 아니라 1과 함께 내 애플 리케이션을 시도했지만 경고와 충돌이 사라지지 않았다. 나는 또한 레이어 뷰의 숨겨진 속성을 다시 다루지 않습니다.ARCGIS iOS -지도 레이어 메모리 문제

결국 메모리 문제에 대한 해결책이나 설명 또는 가정을 아는 사람이 있습니까?

P. 나는 또한 nszombienabled 및 stackoverflow 덕분에 malloc 덕분에 내 코드를 디버깅 :)이 과정에서 나는 건너왔다 ": CGBitmapContextInfoCreate : 할당 할 수 없습니다. 비트 맵 데이터에 대한 바이트". 내 기억 문제가이 오류와 관련이 있습니까? 사전에

감사합니다.

답변

1

이것은 메모리 누수가 너무 많거나 앱에서 사용하지 않는 메모리를 해제하지 않는 것과 같습니다.

문제의 원인은 어디서나 무엇이든 될 수 있기 때문에 주어진 일반적인 해결책은 없습니다.

당신이 할 수있는 것은 :

  1. 당신이 당신의 클래스에 didReceiveMemoryWarning 방법을 정의했는지 확인하고 거기에 사용되는 메모리를 확보하려고한다는;

  2. 앱을 누수 및 메모리 할당 프로파일 링 도구로 실행하고보고 한 내용을 참조하십시오.

  3. 메모리 누수가없는 경우 snapshot analysis을 사용하여 버려진 메모리를 찾으십시오. 내가 건너 온이 과정에서

"CGBitmapContextInfoCreate : 할당 할 수 없습니다 ... 비트 맵 데이터를 바이트". 내 기억 문제가이 오류와 관련이 있습니까?

당신이 메모리를 채울 경우, 할당 호출이 오히려 원인보다 더 효과입니다 ... 실패 할 수 있습니다.

+0

나는 이것을 알고 있지만 코드를 다시 수정 해 보겠습니다. 어쨌든 답변 주셔서 감사합니다. – user1472211