我有大小为1080P的图像,现在我不想使用我们放在RES文件夹中的不同图像变体。我将在带有随机图像的1K设备上安装此应用程序,因此不可能有不同版本的图像。
我们可以在运行时缩放它,仍然可以获得最佳质量吗?
答案 0 :(得分:2)
要缩放图像,请使用以下
Bitmap bitmap = BitmapFactory.decodeResource(
getResources(), R.drawable.app_bg);
scaledBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);
然后将此scaledBitmap
分配给任何ImageView
或任何其他View
。这会将原始Bitmap
扩展为请求的width
和height
。要获得设备屏幕的宽度和高度,请使用以下
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
修改强>
使用此MemoryLeakException
后,为了处理scaledBitmap.recycle()
添加Bitmap
。