我有使用
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不.在第一种情况下,您将获得原始位图密度时间宽度/高度