在运行时,我试图将图像放在表面视图中。当我尝试使用 Drawable 文件夹中的图像时,出现内存不足错误。在stackoverflow中快速搜索后,我发现如果我们从asset文件夹中访问图像会有所缓解。但是我仍然在运行时遇到内存不足错误。
我分析并发现缩放将有助于解决这种与内存相关的问题。问题是我的图像尺寸为 1280 x 720,设备尺寸也相同。因此,我觉得缩放不会有任何影响。
由于我们在这个社区中有专家,如果您能帮助我提供一些建议/示例来解决此类问题,我将不胜感激。
场景一:
使用 Drawable 文件夹中的位图。
backgoundImage = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.backgroundhomepage), (int) dWidth, (int) dHeight, true);
/***********************************************************************************************************************************************************
1. To get the image from asset library
**************************************************************************************************************************************************************/
public Bitmap getAssetImage(Context context, String filename) throws IOException {
AssetManager assets = context.getResources().getAssets();
InputStream buffer = new BufferedInputStream((assets.open("drawable/" + filename + ".png")));
Bitmap bitmap = BitmapFactory.decodeStream(buffer);
return bitmap;
}
场景二:
使用 Assets 文件夹中的位图
backgoundImage = Bitmap.createScaledBitmap(getAssetImage(context,"backgroundhomepage"), (int) dWidth, (int) dHeight, true);