Android:使用drawable vs drawable-nodpi文件夹时内存消耗差异很大

Dal*_*kar 3 java android dpi drawable

我有使用Android Studio创建的基本Android应用程序,单个图像加载ImageView如下:

ImageView iv = (ImageView)findViewById(R.id.imageView);
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
iv.setImageResource(R.drawable.g01);
Run Code Online (Sandbox Code Playgroud)

图像大小1280x853 pix没有什么大不了的.当我将图像存储在drawable文件夹中时,应用程序使用的内存为24.35 MB,而当图像存储在drawable-nodpi文件夹中时为11.85 MB .在xhdpi分辨率为的设备上测试1280x720 pix.

在我的真实应用程序中,差异甚至更大75 MB对25 MB.

为什么不同?我认为drawabledrawable-nodpi文件夹基本相同,服务于同一目的?

Bla*_*elt 7

为什么不同?我认为drawable和drawable-nodpi文件夹基本相同并且用于相同的目的?

不,他们不是.drawable根据设备的密度来缩放其内容,drawable-nodpi不是.在第一种情况下,您将获得原始位图密度时间宽度/高度

  • 更具体地说,在我们有这些密度限定符之前,`drawable`与`drawable-mdpi`是同义词,以便与古老版本的Android向后兼容. (6认同)