1) ppi: pixels per inch,手机的像素密度,即每英寸屏幕能显示的像素数,像素密度越大,显示画面细节就越丰富,屏幕越清晰。
计算方法:像素密度=√[(长度像素数)^2+(宽度像素数)^2]/屏幕尺寸。
2) dpi: Dots Per Inch(每英寸所打印的点数),用来表示打印机打印分辨率,但有时也会用dpi来代指ppi。
3) Density: 手机的密度,以160ppi为基准, 即像素密度(ppi)为160时Density为1 。
1 Density = 160ppi = 160dpi
一般情况下,
240×320的屏幕是低密度120dpi,即ldpi,Density = 0.75;
320×480的屏幕是中密度160dpi,即mdpi,Density = 1;
480×800的屏幕是高密度240dpi,即hdpi,Density = 1.5;
720×1280的屏幕是超高密度320dpi,即xhdpi,Density = 2;
1080×1920的屏幕是超超高密度480dpi,即xxhdpi,Density = 3。
验证方法:
import android.util.DisplayMetrics;
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Log.e("lyl123", "dpi: " + String.valueOf(metrics.densityDpi));
各个资源文件夹中的图片尺寸同样符合ldpi:mdpi:hdpi:xhdpi:xxhdpi=3:4:6:8:12的规律
参考:
https://blog.csdn.net/u013398960/article/details/62444225
https://blog.csdn.net/wawxf2008/article/details/47379577
https://blog.csdn.net/a565815942/article/details/52042148