簡體   English   中英

為什么我的Android模擬器和Android手機在設備密度和DPI上給我不同的結果?

[英]Why does my android emulator, and my android phone give me different results for a devices density and DPI?

在我的Lg G stylo h634上,其分辨率為(720 * 1280),尺寸為5.7英寸,實際PPI為258。使用此信息,此手機應該具有:

DP width: 240
DP height: 240
Density: 1.5
Density PPI: 240

但是,當我在此真實設備上運行測試時,它給了我:

DP width: 257
DP height: 258
Density: 2.0
Density PPI: 320

現在,當我以相同規格運行手機的仿真版本時,會給出第一個指標(密度:1.5,PPI:240等),它們是適當的指標。 我不確定為什么會這樣,但是有人可以解釋為什么仿真版本比真實設備更准確嗎?

它並不總是與DPI和PPI有關。 真正的電話帶有各種硬件組件。 盡管真實電話和仿真器的規格相同,但真實電話呈現的內容不同,縮放比例也不同。 我的建議是嘗試運行您的應用。 在更多的物理設備上,與仿真器相比,等效規格之一的結果相差不大。

但是有人可以解釋為什么仿真版本比真實設備更准確嗎?

不是。 設備就是設備。


DisplayMetricsxdpiydpi是實際的物理密度值。 例如, xdpi的文檔包括

X尺寸屏幕每英寸的確切物理像素。

在您的問題中,您聲明該設備的“真實PPI為258”。 請記住,像素很少是正方形的,因此這與您從DisplayMetrics獲取的值xdpi ,因此xdpiydpi值很少完全相等。


density值基於制造商設置(我認為ro.sf.lcd_density中的/system/build.prop )。 我不能說為什么LG決定使用xhdpi而不是hdpi 如果我不得不猜測,他們會覺得現有應用在具有這種邏輯密度的設備上看起來更好。 仿真器將使用其自己的算法。 另一個具有類似屏幕的制造商可能會選擇hdpi (模擬器選擇的內容)。

densityDpi的值直接由density驅動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM