2014-09-10 2 views
0

URL에서 이미지를 다운로드하고 안드로이드 앱에서 비트 맵 이미지를 만듭니다. 이미지의 크기는 126kb입니다. 내 애플 리케이션에서 URL에서 다운로드하여 이미지를 만들 때 크기는 약 3.25 메가 바이트입니다. 나는 URL에서 이미지를 downlad하려면 다음 코드를 사용하고 있습니다 : 이미지의URL에서 이미지를 다운로드 할 때 왜 이미지 크기가 같지 않은가요?

URL urlConnection = new URL(imageUrl); 
HttpURLConnection connection = (HttpURLConnection) urlConnection.openConnection(); 
connection.setDoInput(true); 
connection.connect(); 
InputStream input = connection.getInputStream(); 
Bitmap bitmap = BitmapFactory.decodeStream(input); 

왜 다운로드 크기가 더 큰 같은 크기로 다운로드 할 수있는 방법이있다? 미리 감사드립니다.

+0

다운로드 크기는 크지 않습니다. 다운로드 한 후 다운로드 한 바이트를 비트 맵으로 변환했습니다. 그리고 그렇습니다 그들은 더 많은 기억을 차지합니다. 귀하의 게시물에 내가 뭘 놓쳤는지는 그것이 3.25 MB인지 어떻게 알 수 있습니다. – greenapps

답변

1

다운로드하는 이미지는 압축 형식 (.jpg .png) 일 가능성이 큽니다. 반면에 BitmapFactory.decodeStream에서 가져온 비트 맵은 압축되지 않은 형식입니다. 원래 해상도로 비트 맵을 표시 할 필요가없는 경우 크기를 줄일 수 있습니다 (detailed instructions here). 그렇지 않으면 그러한 메모리 사용은 정상입니다.

0

이미지 크기는 8,192

1

안드로이드 ÷ 샘플 당^2 × 너비 x 높이 x 비트 해상도로 주어진다 픽셀 파일 크기 당 비트를 제공해야 픽셀 .during 전환 당 비트 수에 따라 달라집니다 BMP이 이미지를 변환 . 당신은 당신 자신에 의해 그것을 변환 할 수 있고 당신은 ~ 3.5 메가 바이트를 얻습니다.

1

다운로드시 Bitmapfactory를 사용하지 마십시오. InputStream 및 FileOutputStream을 사용하여 내부, 외부 또는 이동식 메모리에 직접 저장합니다.

+0

_why_에 대한 단서가 있습니까? 왜 다른지에 대한 직접적인 질문에 대한 답은 무엇입니까? – ataulm

+0

다른 의견을 읽으십시오. 이미지는 다운로드되지 않습니다. 그러나 그 후에는 비트 맵으로 변환됩니다. – greenapps

+0

미안, 나는 정말로 묻지 않고 있었다 - 나는 당신의 대답을 향상시키기위한 포인터로서 그것을 의미했다. – ataulm

관련 문제