问题
I have basic Android application created with Android Studio with single image loaded in ImageView like this:
ImageView iv = (ImageView)findViewById(R.id.imageView);
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
iv.setImageResource(R.drawable.g01);
Image size is 1280x853 pix, nothing huge. When I store the image in drawable folder runtime memory consumed by app is 24.35 MB vs 11.85 MB when image is stored in drawable-nodpi folder. Tested on xhdpi device with resolution of 1280x720 pix.
In my real life app, difference is even greater 75 MB vs 25 MB.
Why the difference? I thought that drawable and drawable-nodpi folders are basically the same and serve the same purpose?
回答1:
Why the difference? I thought that drawable and drawable-nodpi folders are basically the same and serve the same purpose?
No they are not. drawable scales its content per the device's density, drawable-nodpi doesn't. In the first case you will get a bitmap density time width/height the original one
来源:https://stackoverflow.com/questions/28833473/android-huge-difference-in-memory-consumption-when-using-drawable-vs-drawable-n