Удаление кеша рисования

В моем приложении я хочуswap images во время выполнения, когда пользователь нажимает на него.

существует два просмотра изображений, когда пользователь щелкает первое изображение и затем одновременно щелкает второе изображение. Я выбираю растровое изображение первого изображения и назначаю второе изображение для этого, используя следующий код:

public Bitmap createBitmap(ImageView imageview) {
    imageview.setDrawingCacheEnabled(true);
    imageview.buildDrawingCache(false);

    if(imageview.getDrawingCache() != null) {
        Bitmap  bitmap = Bitmap.createBitmap(imageview.getDrawingCache());
        imageview.setDrawingCacheEnabled(false);
        return bitmap;
    } else {
        return null;
    }
}

Код работает нормально, но кэш не очищается каждый раз, а растровое изображение создается с помощью предыдущего кеша, так как я могу очистить кэш растрового изображения?

Ответы на вопрос(2)

Решение Вопроса

Это образец, например где я используюFree the native object associated with this bitmap.

Bitmap  bitmap;

public Bitmap createBitmap(ImageView imageview) {
    if (bitmap != null) {
        bitmap.recycle();
        bitmap = null;
    }
    bitmap = Bitmap.createBitmap(imageview.getDrawingCache());
    // Your Code of bitmap Follows here
}

Перед использованием Bitmap просто освободите объект.

использованиеbitmap.recycle(); перед оценкой ваших растровых изображений, чтобы очистить их кэш, прежде чем создавать его заново.

Ваш ответ на вопрос