1
크기가 1000x800 인 서버에 이미지가 있습니다. I는 다음 방법을 사용하여 다운로드 :매우 큰 이미지를위한 안드로이드 이미지 스케일링 방법;
다운로드 전체 이미지, 그것에서 비트 맵을 디코딩하고 그것을 확장 배열의 화소 값을 넣어.
이미지를 다운로드하여 캔버스에 넣고 캔버스 크기를 조정하십시오.
어떤 접근 방식이 메모리 문제와 관련이 있습니까?
크기가 1000x800 인 서버에 이미지가 있습니다. I는 다음 방법을 사용하여 다운로드 :매우 큰 이미지를위한 안드로이드 이미지 스케일링 방법;
다운로드 전체 이미지, 그것에서 비트 맵을 디코딩하고 그것을 확장 배열의 화소 값을 넣어.
이미지를 다운로드하여 캔버스에 넣고 캔버스 크기를 조정하십시오.
어떤 접근 방식이 메모리 문제와 관련이 있습니까?
최선의 방법이 될 것이다 :
3) 다운 샘플링/스케일 이미지가
public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resId, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeResource(res, resId, options);
}
그것은 here을 설명 디코딩없이. 샘플 코드도 거기 있습니다.