为什么BitmapFactory.decodeResource会扩展我的图像?

Mat*_*ark 4 android bitmap drawable bitmapfactory android-resources

我的目录中有一个120x120px的图像/res/drawable/.这是所有设备所需的大小.

要加载此Bitmap,我使用以下内容:

Bitmap tmpBmp = BitmapFactory.decodeResource(getResources(), R.drawable.myimage);
Run Code Online (Sandbox Code Playgroud)

问题是,当我测量时tmpBmp,大小是360x360px.我知道如何将其缩小到我需要的120x120,但这是浪费处理时间,尽管很少.

我假设这与屏幕密度有关,因为我的资源位于无密度目录中.

decodeResource缩放图像的原因是什么?我怎么阻止它这样做?

ian*_*ake 14

默认drawable目录假定需要从默认mdpi大小缩放图像.drawable-nodpi如果要禁用资源缩放,请将图像放入.

请注意,与mdpi设备相比,xxhdpi设备上的120x120px图像(如果显示在屏幕上)将小3倍(因为每英寸像素数是其三倍).