Android: maksymalna dozwolona szerokość i wysokość bitmapy

Tworzę aplikację, która musi dekodować duże obrazy na bitmapy, aby były wyświetlane w ImageView.

Jeśli spróbuję rozszyfrować je bezpośrednio na bitmapę, otrzymam następujący błąd: „Bitmapa jest zbyt duża, aby ją załadować do tekstury (1944x2592, max = 2048x2048)”

Aby móc wyświetlać obrazy o zbyt wysokiej rozdzielczości, używam:

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);             
}

Działa to, ale tak naprawdę nie chcę kodować maksymalnej wartości 2048, tak jak w instrukcji if, ale nie mogę dowiedzieć się, jak uzyskać maksymalną dozwoloną wielkość mapy bitowej dla urządzenia

Jakieś pomysły?

questionAnswers(5)

yourAnswerToTheQuestion