mirror of
https://github.com/mbirth/wiki.git
synced 2024-12-24 22:54:09 +00:00
Added post about Android display density.
This commit is contained in:
parent
6fabdb9627
commit
e7dbf73251
BIN
assets/android-dpichanged-swiftkey-broken.png
Normal file
BIN
assets/android-dpichanged-swiftkey-broken.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
BIN
assets/android-dpichanged.png
Normal file
BIN
assets/android-dpichanged.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
BIN
assets/android-originaldpi.png
Normal file
BIN
assets/android-originaldpi.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
117
know-how/hacking/android/_posts/2015-12-02-display-density.md
Normal file
117
know-how/hacking/android/_posts/2015-12-02-display-density.md
Normal file
@ -0,0 +1,117 @@
|
||||
---
|
||||
title: Display density on Android
|
||||
language: en
|
||||
layout: default
|
||||
created: 2015-12-02 17:19:42 +0200
|
||||
updated: 2015-12-02 17:19:42 +0200
|
||||
toc: false
|
||||
tags:
|
||||
- know-how
|
||||
- hacking
|
||||
- android
|
||||
- display
|
||||
- resolution
|
||||
- lcd
|
||||
---
|
||||
Methods
|
||||
=======
|
||||
|
||||
Android supports changing the display resolution in 2 different ways.
|
||||
|
||||
wm density
|
||||
----------
|
||||
|
||||
This method works without root and changes the density of the *window manager*.
|
||||
You can call this command only from the adb shell.
|
||||
|
||||
The syntax is:
|
||||
|
||||
wm density [ppi]
|
||||
|
||||
E.g. the Nexus 9 has a real display density of 288ppi, so you would run:
|
||||
|
||||
wm density 288
|
||||
|
||||
To reset the value to the factory setting (for the N9 that is 320), just run:
|
||||
|
||||
wm density reset
|
||||
|
||||
|
||||
build.prop
|
||||
----------
|
||||
|
||||
The other way to change the display density is to edit the `build.prop`. This
|
||||
only works with root access.
|
||||
|
||||
To edit the file, first make the `system` partition writable by remounting it.
|
||||
|
||||
Then find the file `/system/build.prop` and open it in a text editor. I use
|
||||
my favourite file manager [FX File Explorer](https://play.google.com/store/apps/details?id=nextapp.fx)
|
||||
with its integrated editor for that.
|
||||
|
||||
Find the following line (Example from Nexus 9 with currently 320ppi):
|
||||
|
||||
ro.sf.lcd_density=320
|
||||
|
||||
And change the number to your desired value. BE SURE TO NOT CHANGE ANYTHING ELSE.
|
||||
Save the file and reboot your device.
|
||||
|
||||
|
||||
Advantages
|
||||
==========
|
||||
|
||||
Setting the correct density value makes the display appear sharper and it may
|
||||
even make your device run better.
|
||||
|
||||
Android knows different *densities* and if an app supplies graphics in different
|
||||
qualities, it loads them according to the detected density. This means: The
|
||||
higher the density, the larger graphics Android has to load and keep in
|
||||
memory. So reducing the density (to the real value) can make Android load
|
||||
a bit less detailed graphics and thus save RAM.
|
||||
|
||||
Android knows these quality classes:
|
||||
|
||||
| Class | PPI |
|
||||
|------:|:-------:|
|
||||
| ldpi | 100-140 |
|
||||
| mdpi | 141-199 |
|
||||
| hdpi | 200-319 |
|
||||
| xhdpi | 320-340 |
|
||||
| xxhdpi| ~480 |
|
||||
|xxxhdpi| ~640 |
|
||||
|
||||
As you can see, the 320ppi of the Nexus 9 makes Android use *xhdpi* resources.
|
||||
If you change the density to 318, you won't notice anything, but Android will
|
||||
suddenly use the *hdpi* resources and save memory when running apps.
|
||||
|
||||
|
||||
Problems
|
||||
========
|
||||
|
||||
If you don't have root access and try to change the density using the `wm density`
|
||||
command only, it might seem to work on the first glance, but you will notice
|
||||
strange effects.
|
||||
|
||||
If you're using SwiftKey, you'll notice it right away:
|
||||
|
||||
![]({{ site.url }}/assets/android-dpichanged-swiftkey-broken.png)
|
||||
|
||||
|
||||
Other problems are more subtle (Nexus 9 at 288ppi):
|
||||
|
||||
![]({{ site.url }}/assets/android-dpichanged.png)
|
||||
|
||||
Compare this to the same screen at the original 320ppi:
|
||||
|
||||
![]({{ site.url }}/assets/android-originaldpi.png)
|
||||
|
||||
(If you're still searching: Notice the huge "chevron" icon after the
|
||||
developer's name. And also the **huge** background image.)
|
||||
|
||||
<p><div class="noteimportant" markdown="1">
|
||||
These problems only occur if you use only one method to change the density. If
|
||||
you use **both** methods and set them to the same value, everything will look
|
||||
just fine.
|
||||
</div></p>
|
||||
|
||||
More info at the [xda forum](http://forum.xda-developers.com/nexus-9/general/guide-little-trick-improvimg-nexus-9-t3224931).
|
Loading…
Reference in New Issue
Block a user