Many of you are struggling with frequent launcher redraw issue, and me too. So I try to find out why.
That is likely cause by few reasons, including CPU power limitation (not able to handle 320ppi density screen) or not enough memory for loading high resolution assets.
Given that Nvidia Shield Tablet, which has a similar CPU and memory volume with Nexus 9, but have a 283ppi screen.
Difference screen density may be the key to their different performances.
Android system will load hdpi instead of xhdpi assets when screen desnity is between 240 and 320.
Since hdpi assets have lower memory footprint than xhdpi assets, which the system can have more free memory for other application to run, and hence reduces the chances of redraw due to insufficiency memory.
Screen resolution (1536 * 2048)
Relationship between px, dp and dpi:
px = dp * (dpi / 160)
Under factory density value (dpi = 320) You have 768dp * 1024dp as logical resolution
Under a smaller density value, for example dpi = 240
You have 1024dp * 1365.3dp as logical resolution
Under a larger density value, for example dpi = 400
You have 614.4 * 819.2dp as logical resolution
Since most of the thing(text, image assets) in android are measured in dp.
Lower density value > more logical resolution (dp) > "smaller and more blur text and icons" and "more working space"
Higher density value > lesser logical resolution (dp) > "larger and clearer text and icons" and "lesser working space"
For your information:
Native ppi of nexus 9 screen is 288(obtained from this formula: sqrt(1536^2 + 2048^2) / 8.9 =~287.64 )
Member @GiantAxe suggest that 316 is a good number
And I believe that any number between 280 and 319 is good. (I found it is wrong, see the update below)
* No root access is required. Stock Rom is good to go.
1. Enable debug mode on your device.
2. On your pc/mac, switch to your adb folder.
3. adb shell wm density 316
4. Restart your Tablet and try.
Restore to origin setting:
Replace the command at step 3 with
adb shell wm density reset
Let me know if this helps!
I am wrong!
My hypothesis on using 316 density to force Nexus 9 to load hdpi assets seems wrong.
After performing several experiments on my Nexus 9, I compose the following tables:
Official Density | Actual Density Range | Assets Resolution 120 <=131 LDPI 160 132 - 181 MDPI 240 182 - 263 HDPI 320 264 - 363 XHDPI 480 364 - 526 XXHDPI 640 >=527 XXXHDPI
So, I set finally set my DPI to 260, in order to force Nexus 9 to load the HDPI assets instead of XXHDPI assets.
Usually the free ram from 620MB to 720 MB, in my case.
And to reply, the performance of Nexus 9 will not increase, but the chances of application redrawn due to low memory will decrease, so you can spend less time on waiting GC and redraw to finish.
Sent from my Nexus 9 using XDA Free mobile app