2013-02-21 3 views
1

타블렛 앱으로 작업하고 있습니다. Layout.setBackgroundResource(ResId)을 사용하여 고해상도 (2223x3553) 이미지를 배경으로 설정하려고했습니다. 응용 프로그램이 Nexus 7에서 테스트하는 동안 추락했습니다. LogCat에 약 300 개의 빨간색 줄이있는 8-9 개의 예외가 있었기 때문에 스택 추적을 붙여 넣지 않습니다. 이유를 파악하는 데 다소 시간이 걸렸습니다. OutOfMemoryException을 발견하고 1280x800 이미지를 사용하면 앱이 정상적으로 실행되지만 이미지가 고해상도로 디자인되어 있기 때문에 품질이 약간 떨어졌습니다.android - 큰 이미지로 인해 앱이 손상 될 수 있습니다.

질문 : Android에서 고해상도 이미지를 처리하여 충돌을 방지하는 방법은 무엇입니까? 모든 이미지는

This project

또한 당신에 도움이 될 것입니다, 지역과 drawable 폴더 당신은 내가 그런 사용 사례에 사용했던 동일한 라이브러리를 사용할 필요가

+0

FYI 너비와 너비의 비트 맵에는 약 30MB의 Java 힙이 필요합니다. – Blackbelt

+0

@ Maver1ck 확인 Pragnani 대답 ... –

+0

@ Maver1ck 자습서를 사용해 보았습니까? 샘플 크기를 계산해야하고 이에 따라 이미지를로드해야합니다. – Pragnani

답변

2

에 저장됩니다. 때문에 이미지를 압축하는 동안을 표시해야하고 나중에 필요한 경우 지연로드 기능을 사용해야합니다.

2

이미지 크기는 안드로이드 개발에 제한이 있습니다. 지정된 이미지보다 큰 이미지는 사용할 수 없습니다. 응용 프로그램의 이미지를 선택하는 방법에 대한 지침이 있습니다. 가이드 라인에 대한 link입니다.

관련 문제