/ / Android gestione dell'eccezione di memoria insufficiente sull'elaborazione delle immagini: Android, elaborazione delle immagini, memoria insufficiente, bitmapimage

Gestione Android dell'eccezione di memoria durante l'elaborazione delle immagini: android, elaborazione delle immagini, esaurimento della memoria, bitmapimage

Questa è la parte della sequenza di questa domanda: Combinazione di 2 immagini sovrapposte

quindi il problema è: se la dimensione dell'immagine è troppo grande, otterrà un'eccezione (eccezione di memoria insufficiente) quello che voglio è gestire anche se il portatile ha l'hardware con specifiche inferiori, non va a quell'eccezione (ma ci vorrà più tempo per elaborare l'immagine)

è possibile farlo?

lo snippet di codice è così:

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, new Matrix(), null);
canvas.drawBitmap(bmp2, 0, 0, null);
return bmOverlay;
}

e quel blocco di codice è all'interno dell'attività asincrona.

Apprezzo molto se qualcuno mi può aiutare in merito.

Grazie e saluti, E

risposte:

2 per risposta № 1

Penso che tu non abbia altra scelta, ma per ridimensionare le bitmap in una dimensione inferiore ...


0 per risposta № 2

L'unico modo in cui mi viene in mente di gestirlo sarebbedividere le immagini in pezzi in modo da non dover tenere tutto in memoria contemporaneamente. Se non vuoi mantenere bmp1 puoi disegnare bmp2 direttamente sopra di esso piuttosto che creare anche una nuova bitmap, anche se Non sono sicuro se questo è ciò che cerchi.