내 응용 프로그램 기본 화면이 몇 개로드 된 후 OutOfMemoryError 예외가 발생합니다. 앱이 위치에 대한 데이터와 배경 이미지를로드합니다. 선택할 수있는 몇 가지 옵션이 있으며 5-6 개의 다른 위치 선택 후 힙이 192MB를 초과하고 오류가 발생합니다. 나는 문제가 내 비트 맵을 제대로 사용하지 못한다고 생각한다.OutOfMemoryError - 비트 맵으로 힙 크기 깨기
내 코드는 꽤 길고 명확하지 않으므로 예제를 드리겠습니다. 누군가가 나를 도울 수 있습니다. 이미지 메모리 관리와 관련된 기본 사항을 파악하지 못했습니다 (문서를 읽고 광범위하게 검색했으며, 나는 이것에 대해 누군가와 대화하는 것이 이상적이다.)
5 가지 조건의 if가 있는데, 각각 다른 이미지를 반환합니다. 이미지를 비트 맵으로 변환하고 기본 레이아웃의 새로운 드로어 블 소스로 설정합니다.
그런 다음 동일한 기능을 사용하지만 다른 위치에서 다른 이미지를 사용합니다.
이 작업을 몇 번 수행하면로드되는 모든 이미지가 메모리에 남아있어 막히면 오류가 발생합니다. 매우 간단하게 유지하려고 할 때이 여러 가지 이미지를 내 레이아웃 배경에로드하는 것과이 문제를 방지하기 위해 구현해야하는 단계는 무엇입니까?
192메가바이트 당신이 전화를 많이 얻을 것보다 훨씬 크다. 일반적으로 ~ 32MB로 내려 가고 싶어합니다. 다행히도 이러한 장치는 일반적으로 화면의 밀도가 낮기 때문에 많은 픽셀을 화면에 표시 할 필요가 없습니다. 이것은 비트 맵을 처리하는 데 유용한 리소스입니다. http://developer.android.com/training/displaying-bitmaps/index.html – asdasd