2016-05-13 57 views
0

我正在尝试使用与屏幕高度相同的图像进行活动。我尝试去简单的路线,只是使用一个非常大的图像,然后在应用程序内缩小它,但是当我在屏幕较小的设备上运行它时,出现错误,指出设备内存不足。我希望为每个dpi制作几个可绘制文件夹(drawable-mdpi,drawable-hdpi等)。我查看了闪屏的像素尺寸,但是当我调整图像大小以适应这些尺寸时(https://stackoverflow.com/a/15744389/5909429),图像只填满了我的较小设备上的大约一半屏幕。全屏图像的不同DPI的像素尺寸?

我应该实际使用哪些尺寸,还是我使用可绘制文件夹错误?

+0

首先使用图像视图并将其缩放类型设置为fitxy,并将您的图像我只drawable-xxxhdpi –

回答

2

[...]或我是否使用可绘制文件夹错误?

是和否。我不知道你的照片尺寸有什么“完美”的价值,我怀疑它有什么,因为有太多不同的手机可以支持。

dpi的使用确保所有东西都有相同的大小。如果您要在屏幕上将标尺放在xxxhdpi和ldpi设备上,则两张图片的尺寸都是相同的。这是dpi。

你正在做的是填写手机屏幕。这与dpi没有太大的关系,但与屏幕的实际像素大小有关。如果您有1920x1080手机显示屏,则需要具有相同分辨率的图像。这不是而是可以说关于dpi或屏幕密度的任何信息,它坦率地说与它无关。

要正确缩小图像—并没有遇到OOM —您可以使用指定的图像加载库,像滑翔,毕加索,或者你可以在BitmapFactory看一看它可以让你提供一个inSampleSize加载图像的大小需要你自己。官方文档可以在这里找到Loading large bitmaps efficiently