我正在製作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