0
キャンバスからビットマップイメージを1つ以上作成していますが、メモリが不足しているため、ビットマップイメージを圧縮する場所がわかりません。いつビットマップを圧縮する必要がありますか
// create a bitmap from the canvas
canvas.drawBitmap(printOutBitmap, width, 0, null);
// should printOutBitmap be compressed here?
// Initialize a new ByteArrayStream
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap[] imgs = new Bitmap[numImages];
Bitmap bitmapImage;
// splitting the bitmaps
for (int i = 0 ; i < imgs.length; i++)
{
// create a single bitmap from the area of the original bitmap
bitmapImage = Bitmap.createBitmap(printOutBitmap, 0, y, printOutBitmap.getWidth(), h);
// the returned bitmap needs to be a predefined width/height
bitmapImage = Bitmap.createScaledBitmap(bitmapImage, width, height, false);
bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
imgs[i] = bitmapImage;
}
私はprintOutBitmapを圧縮しましたが、メモリが不足していますが、すべてのビットマップを圧縮するには時間がかかります。どんな助けやベストプラクティスも大変ありがとうございます。ありがとうございました!