私はAndroidアプリケーションを作成しています。私は画像をビットマップにロードし、「ピンチズーム」ジェスチャを使用してサイズを変更する必要があります。ただし、イメージが一定のサイズを超えると、アプリケーションがクラッシュします(OutOfMemory例外)。イメージのロードと操作を最適化するにはどうすればよいですか? 大きなビットマップのAndroidローディング
は、私が使用して画像を読み込むには:BitmapFactory.decodeResource (ctx.getResources(), R.drawable.image)
がそれを描画するには:
imgCanvas.drawBitmap (image, posX, posY, null),
は、そのサイズを変更するには:
Bitmap.createScaledBitmap (originalBitmap, neww, NEWH, true);
になるまでこれをやり続けます。 「ズームイン」を行うと、inSampleSizeを値> 1に変更してから画像をトリミングする必要がありますか? – Giammy
ユーザがズームインする前に、画像全体をinSampleSize> 1でロードします。次に、あるポイントでズームインすると、画像の一部だけが読み込まれ、値が小さいinSampleSizeまだ1以上)。ユーザーが何度も何度もズームすると、inSampleSize = 1(そして、表示されている部分だけが読み込まれます)。 –