Android Display x DisplayMetrics - 访问显示尺寸的最正确方法是什么?

Android Display x DisplayMetrics - What's the most correct way to access the display dimensions?

第一种方法:

DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();

int deviceHeight = displayMetrics.heightPixels;
int deviceWidth = displayMetrics.widthPixels;

第二种方法:

Display mDisplay = getWindowManager().getDefaultDisplay();
Point point = new Point();
mDisplay.getSize(point);

int deviceHeight = point.y;
int deviceWidth = point.x;

我做了一些测试,两种方法 return 的值相同。那么,我使用的方法取决于我使用它的上下文?或者,一种方法比另一种更好吗?

谢谢,

DisplayMetrics 仅用于获取有关显示的信息,例如大小、密度和字体缩放。

另一方面,显示 class 可以做同样的事情,但也可以获取未显示应用程序的显示大小(不包括系统装饰)或获取显示的部分显示一个应用程序(包括系统装饰)。

如果您只想获取显示尺寸,DisplayMetrics 似乎是最佳选择,因为它最适合您的需求。没有更好,只有偏好。