Android 앱을 만들고 있는데 이미지를 비트 맵에로드하고 '손가락 집게 확대'제스처를 사용하여 크기를 조정해야합니다. 그러나 이미지가 특정 크기를 초과하면 응용 프로그램이 충돌합니다 (OutOfMemory 예외). 이미지로드 및 조작을 최적화하려면 어떻게합니까? 큰 비트 맵을 Android로로드하는 중
은 내가 사용하는 이미지를로드하려면 :BitmapFactory.decodeResource (ctx.getResources(), R.drawable.image)
그것을 그리려면 :
imgCanvas.drawBitmap (image, posX, posY, null),
그 크기를 변경하려면 :
Bitmap.createScaledBitmap (originalBitmap, neww, NEWH, true);
내가 처음에 (inSampleSize를 = 1) 원래 크기로 이미지를로드합니다. "확대"할 때 값이 1보다 큰 inSampleSize를 변경 한 다음 이미지를 자르지 않아야합니까? – Giammy
사용자가 확대하기 전에 전체 이미지를 inSampleSize> 1로로드합니다. 그런 다음 사용자가 확대하면 특정 지점에서 이미지를 다시로드하지만 크기가 작은 inSampleSize가있는 이미지 만로드합니다 (단, 여전히 1 이상). 사용자가 몇 번이고 다시 확대하면 어떤 시점에서 inSampleSize = 1이됩니다. 그러면 보이는 부분 만로드됩니다. –