2014-10-09 1 views
4

xcode 6 (및 아마 5도)에서 디버그 그래프를 볼 때 내 애플리케이션을 실행할 때 화면에 특정 객체를 더 많이 배치하고 동작을 움직이면 메모리 사용이 계속 증가합니다. 제거 할 때 줄어들지 않는 것 같습니다. 일단 제거되면 나는 더 이상 그들에 대한 언급이 없다고 생각한다.Xcode 메모리 그래프 - 증가하는 메모리 사용량을 보여줍니다 - 정확히 무엇을 보여줍니까?

페이지의 스크린 샷 : 나는 무슨 일이 일어나고 있는지 밝혀 내기 위해 악기를 사용할 때 http://i.stack.imgur.com/SnhbK.png

는 그러나, 12메가바이트 계속 발생 주위에있다, 예상대로 총 바이트 수는 지속적으로 증가하고있다.

페이지의 스크린 샷 : http://i.stack.imgur.com/VBwce.png

이 정상적인 행동인가? Xcode의 그래프는 정확히 무엇입니까? 나는 무엇인가 내려다보고 있냐?

인스트루먼트에서 위의 스크린 샷에 대해 할당 수명을 All Allocations (모든 할당) 및 Allocation Type (할당 유형)을 All Heap and Anonymous VM으로 설정했습니다. 내가 엑스 코드에 표시되는대로 "실제 메모리는"같은 비율로 증가하는 것을 볼 수 있었다 활동 모니터와 악기를 실행하여

UPDATE

. @Mark Szymczyk은 OpenGL ES 텍스처 메모리 할당이 Allocations 도구에 표시되지 않는다고 지적했습니다.

정기적 인 간격으로 Cocos2D 3.1에서 다음 명령으로 텍스처 캐시를 제거하면 메모리 사용이 지속적으로 약 18MB로 줄어들고 스프라이트를 추가 할 때 다시 증가합니다.

[[CCDirector sharedDirector] purgeCachedData]; 

크레딧은이 방향으로 나를 가리켜 주신 Mark Szymczyk에게갑니다. - 감사합니다!

+0

안녕하세요 JoGoFo, 당신의 프로젝트에서 좀비를 사용 설정 했습니까? – Yogendra

+0

안녕하세요 학생, 나는 좀비가 꺼져 있음을 언급하고자했습니다. 다른 아이디어? – JoGoFo

+0

안녕하세요, 프로젝트에서 많은 이미지 모음을 사용하고 있습니까? – Vishal16

답변

4

스크린 샷을 보면 Xcode 그래프는 아마도 Instruments 스크린 샷의 총 바이트 열과 동일한 것을 보여줍니다. 개체를 제거하면 영구 바이트는 줄어들지 만 총 바이트는 줄어들지 않습니다. 이는 메모리 사용이 Xcode 그래프에서 절대로 떨어지지 않는 이유를 설명합니다.

인스 트루먼 테이션의 영구 바이트 열은 앱의 메모리 사용량을 확인하기 위해 알아야 할 사항입니다.

+0

Thanks Mark. 이것은 내가 수집 한 것이지만, 이것이 Xcode 그래프가 보여주는 것임을 확인할 수있는 사람은 누구입니까? Xcode가 할당 된 메모리 블록을 표시하고 있는지 궁금하고, 조각 문제가있을 수 있습니까? – JoGoFo

+0

Allocations 장비는 OpenGL ES 텍스처 할당을 기록하지 않습니다. Xcode의 메모리 그래프는 할당 계기가 보여주지 않는 텍스처 메모리 할당을 보여줍니다. –

+0

고마워요, 이것이 바로 문제였습니다. 정기적으로 내 텍스처 캐시를 제거하면이 문제가 해결됩니다. 자세한 내용으로 내 질문을 업데이트하고 답변을 수락합니다 - 다시 한 번 감사드립니다! – JoGoFo

관련 문제