[Bitmap] Bitmap에서 decoder->decode returned false 오류 직접 해결
오늘 운영부의 동료는 한 고객이 제기한 문제를 피드백했다. 바로 원래 인터넷 사진이 불러오는 것은 문제가 없었지만 지금은 표시되지 않는다는 것이다.그래서 코드를 추적했는데 서버에서 되돌아오는 json 데이터에 문제가 없고 파일을 브라우저로 열어도 문제가 없다는 것을 발견했습니다. 궁금했습니다. 처음에는 연결 시간이 초과된 줄 알았지만 서버의 운행 상태가 양호하기 때문에 배제했습니다.또 그림이 너무 커서 OOM일 수도 있지만 그림은 압축된 반환 그림의 크기도 100K+이다.드디어 콘솔에서 잡혔어요.
decoder->decode returned false 오류
그래, 바로 그거야. 근원을 찾았어.
솔루션:
참조:
http://stackoverflow.com/questions/4339082/android-decoder-decode-returned-false-for-bitmap-download
코드는 다음과 같습니다.
public static Bitmap loadImageFromUrl(String url) {
URL m;
InputStream i = null;
BufferedInputStream bis = null;
ByteArrayOutputStream out =null;
try {
m = new URL(url);
i = (InputStream) m.getContent();
bis = new BufferedInputStream(i,1024 * 8);
out = new ByteArrayOutputStream();
int len=0;
byte[] buffer = new byte[1024];
while((len = bis.read(buffer)) != -1){
out.write(buffer, 0, len);
}
out.close();
bis.close();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
byte[] data = out.toByteArray();
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
//Drawable d = Drawable.createFromStream(i, "src");
return bitmap;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.