Android: Maximal zulässige Breite und Höhe der Bitmap

Ich erstelle eine App, die große Bilder in Bitmaps decodieren muss, um in einer ImageView angezeigt zu werden.

Wenn ich nur versuche, sie direkt in eine Bitmap zu dekodieren, erhalte ich die Fehlermeldung "Bitmap zu groß, um in eine Textur hochgeladen zu werden (1944x2592, max = 2048x2048)".

Um Bilder mit zu hoher Auflösung anzeigen zu können, verwende ich:

Bitmap bitmap = BitmapFactory.decodeFile(path);

if(bitmap.getHeight()>=2048||bitmap.getWidth()>=2048){
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    int width = metrics.widthPixels;
    int height = metrics.heightPixels;
    bitmap =Bitmap.createScaledBitmap(bitmap, width, height, true);             
}

Das funktioniert, aber ich möchte den Maximalwert von 2048 nicht wirklich fest codieren, wie ich es jetzt in der if-Anweisung getan habe, aber ich kann nicht herausfinden, wie man die maximal zulässige Größe der Bitmap für ein Gerät erhält

Irgendwelche Ideen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage