Как правильно отобразить растровое изображение из метода возврата? - PullRequest
0 голосов
/ 20 июня 2019

Будет ли этот метод перерабатывать растровое изображение в imageUtils.mediaImageToBitmap(image, activity);?.

, потому что я не могу поставить recycle после return methodBitmap;

Bitmap bitmap = imageUtils.mediaImageToBitmap(image, activity);
//some process
...
//some process
bitmap.recycle();

Обновление

После того, как я это сделаю, я поместил bitmap.recycle (), но в imageUtils.mediaImageToBitmap(image, activity); внутри этой функции есть растровое изображение, а также требуется ли его переработка?

или

bitmap.recycle()автоматически перерабатывать растровое изображение внутри imageUtils.mediaImageToBitmap(image, activity);?

    public Bitmap mediaImageToBitmap(Image image, Context context) {
        Bitmap bitmap;
        //Do I need to do bitmap recycle in this method's Java Class?
        //or 
        //The other class that call this method 
        //Bitmap bitmap = imageUtils.mediaImageToBitmap(image, activity);
        //Then bitmap.recycle is enough?
        return bitmap;
    }

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Ваш imageUtils.mediaImageToBitmap(image, activity); должен возвращать только ссылку на растровый объект, который вы назначаете своей локальной переменной.Другими словами, существует только один растровый объект, и вызов bitmap.recycle () один раз автоматически перезапустит этот растровый объект.

0 голосов
/ 20 июня 2019

Ваш оператор не будет выполнен после оператора return, но есть один блок, который блок будет выполнять после оператора return, который в конечном итоге является блоком с try catch, если вы знаете эту концепцию:

public Bitmap methodBitmap() 
{
        Bitmap bitmap
        try {
            bitmap = imageUtils.mediaImageToBitmap(image, activity);
            //some process
        ...
            //some process

            return bitmap;
        }
        catch (Exception e) {
            // Do necessary step on exception case
            return bitmap;
        }
        finally {
            bitmap.recycle();    
        }
}

Примечание. Примите необходимый аргумент для methodBitmap в соответствии с вашими потребностями

...