2015-02-12 24 views
29

Come preparare le risorse per Nexus 6? Se metto le immagini su xxxhdpi, si ridurranno e perdono la qualità. Metto le immagini su xxhdpi che scaleranno e perdono la qualità. Perché gli sviluppatori hanno deciso il valore di installazione 560 dpi per la densità, se la densità reale 493ppi è più vicina a xxhdpi ~ 480 dpi?Perché la densità del Nexus 6 è 560 dpi?

Il Nexus 6 vanta un impressionante schermo 5,96” Quad HD con una risoluzione di 2560 x 1440 (493 ppi). Questo si traduce in ~ 730 x 410 dp (pixel indipendenti dalla densità).

Il Nexus 6 ha una densità quantizzata di 560 dpi, che rientra tra i bucket di densità primaria xxhdpi e xxxhdpi.

Per il Nexus 6, la piattaforma ridimensiona le risorse xxxhdpi, ma se non sono disponibili, allora ridimensionerà le risorse xxhdpi.

xxhdpi ~480dpi 
xxxhdpi ~640dpi 
+1

"Perché gli sviluppatori" domande come questa di solito non sono adatte allo Stack Overflow. – CommonsWare

+1

'Metto le immagini su xxxhdpi che ridimensionano e perdono la qualità. Metto le immagini su xxhdpi che si scaleranno e perdono la qualità. Si ottiene una qualità migliore quando le immagini vengono ridimensionate ** in basso ** (approssimazione mediana) anziché in alto (pixellation). –

+4

Esiste un'opzione per specificare esattamente le risorse per questo telefono? qualcosa come drawable-560dp –

risposta

7

Nel caso del Nexus 6, il fabbricante ha scelto una densità di 560 quantizzato (adb shell getprop ro.sf.lcd_density), anche se la densità fisica è di circa 493 (getResources(). GetDisplayMetrics().accordare()). Capire perché potrebbero fare ciò richiede la comprensione del significato della densità quantizzata e di come influisce sul rendering della risorsa immagine, che viene spiegato here.

In breve, la densità quantizzata di 560 significa che il fattore di scala utilizzato per caricare/visualizzare le immagini sarà 3,5. Nelle parole di D. Hackborn, "La densità ... è un secchio a densità astratta che il produttore del dispositivo ha deciso di utilizzare per l'interfaccia utente in. Questo è ciò che viene usato per valutare cose come le unità "dp" e selezionare e scalare bitmap dalle risorse. "

1

Penso che sia una domanda valida. Alcuni dispositivi sono supportati da dpis (xxhdpi & xxxhdpi), l'uso delle immagini comporterà un ridimensionamento del software non necessario. Non mi preoccupo della differenza di qualità, ma influenzerà le prestazioni di avvio dell'applicazione. Controllare la scala variabile in BitmapFatory, se questo è vero, la piattaforma eseguirà un ridimensionamento del software aggiuntivo non necessario. Idealmente l'interfaccia grafica dell'hardware dovrebbe scalare direttamente utilizzando OpenGL ES.

4

È possibile utilizzare drawable-560dpi per 560 dpi. Le immagini drawable-560dpi e drawable-xxxhdpi hanno la stessa risoluzione.