2011-02-02 3 views
0

OpenGL ES 2.0을 사용하는 Android 2.2 애플리케이션을 개발 중입니다. 모든 OpenGL ES는 C++로 구현됩니다.Android가 OpenGL ES 2.0에서 메모리가 부족합니다.

나는 질감로드하려고 할 때이 오류가 발생했습니다 :

02-02 13:03:03.210: ERROR/dalvikvm-heap(4117): 1728000-byte external allocation too large for this process. 
02-02 13:03:03.210: ERROR/dalvikvm(4117): Out of memory: Heap Size=6471KB, Allocated=3881KB, Bitmap Size=17023KB 
02-02 13:03:03.210: ERROR/GraphicsJNI(4117): VM won't let us allocate 1728000 bytes 

나는이 '메모리 부족'문제를 해결하기 위해 확인해야 무엇을?

감사합니다.

+0

여기에 관련 코드를 게시 할 수 있습니까? 특히 할당하려는 코드를 게시 할 수 있습니까? 또한 텍스처를 실제로로드하는 코드도 있습니다. 텍스처를로드하는 것은 매우 일반적인 작업이므로 코드를 게시하지 않으려는 경우 넷에서 샘플 코드를 검색하는 것이 좋습니다. – csanta

답변

0

음, 우선 16MB 비트 맵 파일을 메모리에로드하려는 것 같습니다. 해당 이미지의 크기를 줄여야합니다. Android는 각 프로세스에 대해 일정량의 메모리를 할당하기 만하면 처리가 끝나는 것처럼 보입니다.

안드로이드에 대한 메모리 최적화를 살펴볼 수 있습니까?

+0

아니요, 비트 맵은 192KB입니다. 그것은 bmp 파일입니다. 어쩌면 jpg 또는 png로 변경하려고 할 수 있습니다. – VansFannel

+0

오류를 보면, 힙에 16MB를 할당하려고한다는 것입니다. 심지어 "Bitmap Size = 17023KB"라고 말합니다. 이미지 처리와 관련이있는 것 같습니다. BitmapFactory를 사용하고 있습니까? – SpencerElliott

+0

지연되어 죄송합니다. BitmapFactory를 사용하고 있습니다. 거기에 어떤 문제가 있습니까? – VansFannel

관련 문제