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

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

ImageView iv = (ImageView)findViewById(R.id.imageView);
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
iv.setimageResource(R.drawable.g01);

图像大小为1280×853像素,没什么大不了的.当我将图像存储在可绘制文件夹中时,应用程序消耗的运行时内存为24.35 MB,而当图像存储在drawable-nodpi文件夹中时为11.85 MB.在xhdpi设备上测试,分辨率为1280×720像素.

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

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

解决方法

Why the difference? I thought that drawable and drawable-nodpi folders
are basically the same and serve the same purpose?

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

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...