1. 背景
因为项目需要,需要把我在一个A盒子上写的Launcher App,移植到B盒子上,唯一的要求就是快。
A盒子和B盒子都是1080PUI.
2. 遇到问题And找解决方法
我简单挪过去了后发现,屏幕显示不对,经过我自己分析,发现,A盒子上1dp=2px,而B盒子上1dp=1.5px,
我们做Android的都知道,densityDpi/160就是dp和px的比例,也就是density。而在Android里得到density:
density=context.getResources().getDisplayMetrics().density;
于是我就查看源码:
/**
* Return the current display metrics that are in effect for this resource
* object. The returned object should be treated as read-only.
*
* @return The resource's current display metrics.
*/
public DisplayMetrics getDisplayMetrics() {
return mResourcesImpl.getDisplayMetrics();
}
再往里跟
DisplayMetrics getDisplayMetrics() {
if (DEBUG_CONFIG) Slog.v(TAG, "Returning DisplayMetrics: &