2012-05-31 4 views
1

저는 1060KB 크기의 이미지가 10 ~ 34KB이고 Cocos2D에서이 모든 것을 사용하려고합니다. 나는 삼성 갤럭시 탭 10.1에서 게임을 실행하고 잘 실행되지만, 모토로라 드로이드 X에서 사용하려고하면 메모리 오류가 발생합니다. Ive는 주변을 둘러 보았지만 도움이되는 것을 찾을 수 없었습니다. SVN에서 최신 버전의 Cocos2D를 사용하고 있습니다.Cocos2D android java.lang.OutOfMemoryError : 비트 맵 크기가 VM 예산을 초과합니다.

이 작은 게임은 더 큰 안드로이드 응용 프로그램에서 실행되지만 이미지의 400KB는 메모리를 파괴해서는 안됩니까?

VM 예산이이 리소스를 쉽게 사용할 수있을 정도로 크기가 크거나 이미지가 메모리에있을 때 이미지가 상당히 커 졌다고 생각 했습니까?

업데이트 : 모든 것을 미리로드하려고 시도했지만 게임의 첫 번째로드시에는 여전히 문제가 있습니다. Cocos2D/Android는 실제로 너무 많은 픽셀의 여러 이미지를 지원하지 않습니까?

답변

1

안녕하세요.이 오류는 이미지를 너무 크게 만들 때 실제로 발생하는 여러 번이 오류가 발생합니다.이 문제를 줄이려면 이미지를 완성해야합니다. 이미지 갤러리를 만들어야한다는 의미입니다. 당신은 그것을 지워야 만했습니다. 나는 이것을 시도했고 그것은 저에게 효과적이었습니다. 왜냐하면 어떤 때는 4 ~ 5 번 같은 응용 프로그램을 실행할 때도 닫습니다. ......

+0

네, 생각했습니다. CCTextureCache가 그런 일을 처리 할 수 ​​있었습니까? 그 방법으로 나는 쓰여진 것이 텍스처를 다시로드하지는 않지만 캐시 된 버전을 유지한다는 것입니다. 메신저 그 캐시 된 버전을 여러 번 사용하려고하면 그냥 모든 텍스처를 미리로드하고 그 텍스처를 사용하도록 스프라이트를 설정해야합니까? 문제가 해결 될까요? – Intrivix

+0

나는 이미지를 반 크기로 만들고 크기를 조정하는 임시 픽스가 있지만 그게 좋지 않아서 실제 솔루션을 선호한다./ – Intrivix

+0

조금 더 애니메이션이 필요하다는 요구에 맞춰서, 나는 추가를 시도했다. 또 다른 7 반 크기의 이미지지만, 이제 오류가 지속됩니다 ... Cocos2D가 사용할 수있는 메모리의 양에 대한 끔찍한 제한이있는 이유는 무엇입니까? – Intrivix

관련 문제