2012-01-12 5 views
0

DoubleTap에서 이미지를 호출하는 간단한 이미지 슬라이더 '라이브 배경 화면'을 만들었습니다. Android 시스템에서 이미지를 BMP로 변환해야한다는 점에서 이미지를 처리 ​​할 때 OOM 관련 문제가 많이 발생했습니다. 이미지 크기를 크게 늘릴 수 있습니다.라이브 배경 화면 미리보기 모드

내 질문은 라이브 바탕 화면 메뉴 화면에서 라이브 바탕 화면을 활성화하고 미리보기 모드에서 볼 때 완벽하게 작동합니다. 지연이나 문제없이 모든 이미지를 탐색 할 수 있습니다. 그러나 라이브 배경 화면을 설정할 때 OOM 오류로 인해 충돌이 발생합니다. 왜 이럴 수 있니?

답변

1

미리보기 모드는 불투명 한 표면에 그려지지만 데스크톱은 그 위에 아이콘, 업데이트 및 애니메이션을 모두 그립니다.

그래픽을 최적화 했습니까? 그것은 꽤 도움이 될 수 있습니다 ... http://trimage.org과 같은 경우 jpg/png를 사용하고 있습니다.

+0

내 모든 그래픽은 Photoshop에서 '웹용으로 저장'을 통해 최적화됩니다. 나는 대부분의 hdpi 및 xhdpi 화면 밀도에 적합하도록 작동하는 960x800 이미지를 사용합니다. 각 이미지의 파일 크기는 대략 150-250kb입니다. 그러나 필자는 안드로이드 시스템이 BMP로 변환하면 파일 크기에 관계없이 이미지의 해상도가 실제 파일 크기를 결정한다는 인상을 받고있었습니다. 이 프로세스는 대개 이미지를 최대 1 ~ 2MB까지 날려 버립니다. 어쨌든, 도와 줘서 고마워! – rdebits

+0

기다리십시오. 어느 기기에서 오류가 발생합니까? 어쩌면 당신은 다른 장치를 위해 다른 자원을 제공하는 것을 수용 할 필요가있을 것입니다. 이로 인해 필연적으로 APK의 크기는 증가하지만 문제가있는 장치의 성능은 향상됩니다. http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources 또한 http://photobatch.stani.be/는 각각의 DPI 및 해상도로 일괄 변환하는 데 도움을 줄 수 있습니다. – TryTryAgain

+0

HDPI의 경우 960x800을 사용하고 있습니다. MDPI @ 720x600. LDPI 이미지는 @ 480x400입니다. 그러나 SET 라이브 배경 화면에 갈 때이 오류의 변형이 나타납니다. E/dalvikvm-heap (15936) : 682240 바이트의 외부 할당이이 프로세스에 비해 너무 큽니다. E/dalvikvm (15936) : 메모리 부족 : 힙 크기 = 4499KB, 할당량 = 2555KB, 비트 맵 크기 = 11606KB, 제한 = 13756KB E/dalvikvm (15936) : 잘라 내기 정보 : 풋 프린트 = 2883KB, 허용 풋 프린트 = 4867KB, 잘라 내기 = 368KB 01-12 12 : 01 : 15.896 : E/GraphicsJNI (15936) : VM이 우리에게 682240 바이트를 할당하도록 허용하지 않습니다. – rdebits

관련 문제