我正在制作Android应用程序,我需要在cavas中加载图像(位图),并使用“缩放缩放”手势调整它的大小。但是,当图像超过一定大小时,应用程序会崩溃(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 2013-03-12 16:16:20
用户放大之前,用inSampleSize> 1加载整个图像。然后,当用户放大时,在某些点上,您将再次加载图像,但只加载一部分图像,并且inSampleSize的值较低(但仍然超过1)。当用户一次又一次放大时,在某些时候,您的inSampleSize = 1(并且您只会加载可见的部分)。 – 2013-03-12 18:52:58