1 CSS Pixel = (devicePixelRatio)² Device Pixels(面積關係)。PPI = 對角線像素 / 螢幕尺寸(英寸)。Android 依 PPI 分為四級密度,對應預設縮放比例:
| 密度級別 | PPI 範圍 | 縮放比例 | 代表機型 |
|---|---|---|---|
| ldpi | ~120 | 0.75x | 早期低端機 |
| mdpi | 160 | 1x (基準) | 早期標準機 |
| hdpi | 240 | 1.5x | 主流 Android |
| xhdpi | 320 | 2x | 高端旗艦 |
| xxhdpi | 480 | 3x | 超高清機型 |
| xxxhdpi | 640 | 4x | 極少數旗艦 |
關鍵洞察:國內 Android 市場 hdpi 佔比最高,適配策略應以 1.5x 為核心基準。
<meta name="viewport" content="
width=device-width,
initial-scale=1.0,
maximum-scale=1.0,
user-scalable=no,
target-densitydpi=device-dpi /* 僅 Android WebView 支援 */
">
target-densitydpi=device-dpi:強制 1 CSS px = 1 Device px,繞過預設縮放。initial-scale 控制。device-dpi + 響應式 + 多套圖)target-densitydpi=device-dpi,媒體查詢 -webkit-device-pixel-ratio 切換 1x/2x/3x 圖。background-size: contain 或 width: 100% 縮放。# 需預裝 JDK
java -jar weinre.jar --httpPort 8081 --boundHost -all-
瀏覽器訪問 https://localhost:8081 見到客戶端目標頁面即成功。
<script src="https://{PC_IP}:8081/target/target-script-min.js#anonymous"></script>
https://{PC_IP}:8081/client/#anonymous 開啟 DevTools 風格面板。width=device-width, initial-scale=1。srcset / picture / CSS Image-set 多規格。rem / vw 相對單位,避免固定 px。