位图太大,无法上传到某些手机的纹理中

Ama*_*ngh 11 android imageview

我有54​​3*6423分辨率的图像,我想在所有设备中显示它.它在很少的Android手机中显示,允许高分辨率.我试过了

android:hardwareAccelerated="false"
Run Code Online (Sandbox Code Playgroud)

这是我的java代码.

File storagePath =Environment.getExternalStoragePublicDirectory(
                    Environment.DIRECTORY_DOWNLOADS+
                    "abc.png");
            InputStream is = this.getContentResolver().openInputStream(Uri.fromFile(storagePath)); 
            Bitmap b = BitmapFactory.decodeStream(is, null, null); 
            is.close(); 
            image.setImageBitmap(b);
Run Code Online (Sandbox Code Playgroud)

这适用于我的手机(索尼xperia),但很少有其他手机没有显示它.请帮助我如何显示此图像独立于屏幕分辨率.

谢谢,阿曼

Fah*_*ind 4

您的图像可能太大,无法在大多数设备上显示。所以你必须加载图像的缩小版本。查看高效加载大位图以了解如何执行此操作并计算适当的样本大小。如果您需要显示宽度/高度(在全屏图像的情况下),您可以使用getResources().getDisplayMetrics().