Android-handling out-of-memory-Ausnahme Bildverarbeitung
Dies ist die Sequenz, die Teil dieser Frage: Die Kombination der 2 Bilder überlagert
also das problem ist: wenn das Bild zu groß ist - Sie ' ll bekommen eine Ausnahme (out-of-memory-exception)
was ich will ist, zu behandeln, selbst wenn der Hörer bekam den niedrigeren spec hardware, es geht nicht, die Ausnahme (aber es dauert eine längere Zeit bis zur Verarbeitung des Bildes)
ist es möglich, das zu tun?
das code-snippet sieht so aus:
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;
}
und dass der code-block innerhalb der async-task.
Ich wirklich dankbar, wenn mir jemand helfen kann bei dieser Sache.
Vielen Dank und viele Grüße,
Und
InformationsquelleAutor AnD | 2010-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie haben keine andere Wahl, aber zum skalieren der bitmaps in einer geringeren Größe...
InformationsquelleAutor rds
Nur so kann ich mir vorstellen, dies zu behandeln wäre, um teilen Sie die Bilder in Stücke, so dass Sie nicht haben, um alles im Speicher auf einmal. Wenn Sie nicht wollen, zu halten, bmp1, die Sie zeichnen können bmp2 direkt oben drauf und nicht dann erstellen Sie ein neues bitmap als gut, aber ich bin mir nicht sicher, ob dies ist, was Sie nach.
InformationsquelleAutor skorulis