0

내 애플리케이션의 활동 배경에 대해 일부 png 이미지를 사용하고 있습니다. 이 png 파일은 대개 매우 작은 크기의 이미지입니다. 예를 들어, 768x1024 크기의 디스크를 실제로 사용하고 있는데이 크기는 실제로 디스크에서 29.6KB입니다. Samsung Note 1에서 응용 프로그램을 실행할 때 이미지가 실제로 약 소비됨을 깨달았습니다. 3MB의 메모리. 그래서 안드로이드는 PNG 파일을 완전한 ARGB 비트 맵 (768x1024x4 바이트)으로 압축을 푸는 것 같습니다. 이것은 안드로이드가 이미지를 다시 샘플링/크기 조정하고 PNG 파일을 drawable-nodpi 폴더에 저장해야 할 필요가 있다고 생각했지만, 이는 동일한 양의 메모리 소비를 가져 왔습니다.PNG를 안드로이드 압축 해제하면 메모리 부족 오류가 발생할 수 있습니다.

이 경우 어떻게해야합니까? 어떻게하면이 압축 해제 동작을 방지 할 수 있습니까? 이 프로젝트에서는 수많은 활동을 위해 여러 가지 이미지를 넣어야하기 때문에 메모리 오류가 발생할 수 있습니다. 나는 안드로이드의 초보자이며 이미지 리소스를 어떻게 처리하는지 정확히 알지 못하기 때문에 여기에 뭔가 빠뜨릴 수 있습니다. 매니페스트

android:hardwareAccelerated="false" 
android:largeHeap="true" 

하지만 메모리 효율적인 응용 프로그램, 을 구축하는 경우 이러한 권장하지 않습니다하지만이 정말로 작동에 in to the application tag 이러한 두 줄을 추가

+1

모든 이미지를 압축 해제해야 표시 할 수 있으므로 압축 해제 동작을 방지 할 수 없습니다. 비트 맵에서 사용되는 메모리를 지우고 캐시하는 등의 많은 기술이 있습니다. 대부분은 http://developer.android.com/training/displaying-bitmaps/index.html에 설명되어 있습니다. – Jorge

답변

1

보십시오.