Ошибка растрового изображения нехватки памяти в Android…

Я работаю в приложении для Android и использую растровое изображение для привязки изображения к ImageView. Мое требование состоит в том, чтобы повернуть этот ImageView и дать границу этому ImageView. Я успешно реализовал это, но после того, как приложение использовало это действие два -три раза, появляется ошибка «принудительного закрытия», говорящая о том, что растровое изображение не хватает памяти виртуальной машины. Пожалуйста, помогите мне минимизировать потребление растровой памяти в моем коде. И дайте мне знать, как изменить код для того же?

final int BORDER_WIDTH = 5;
        // Set the border color
        final int BORDER_COLOR = Color.WHITE;
        Bitmap res = Bitmap.createBitmap(CAPTURE_IMAGE.getWidth() + 2
                * BORDER_WIDTH, CAPTURE_IMAGE.getHeight() + 2 * BORDER_WIDTH,
                CAPTURE_IMAGE.getConfig());
        System.gc();
        Canvas canvas = new Canvas(res);
        Paint paint = new Paint();
        paint.setColor(BORDER_COLOR);
        canvas.drawRect(0, 0, res.getWidth(), res.getHeight(), paint);

        canvas.drawBitmap(CAPTURE_IMAGE, BORDER_WIDTH, BORDER_WIDTH, paint);
        Matrix mat = new Matrix();
        // Set the Imageview position
        mat.postRotate(355);

        bMapRotate = Bitmap.createBitmap(res, 0, 0, res.getWidth(),
                res.getHeight(), mat, true);
        System.gc();
        res.recycle();
        res = null;
        paint = null;
        canvas = null;
        mat = null;
        // Set the captured bitmap image in the imageview
        mShareImageView.setImageBitmap(bMapRotate);
6
задан Jigar Pandya 23 July 2012 в 07:46
поделиться