Removes > 1s of GC time and hundreds of GC during device boot.
Zygote size before: 8388608
Zygote size after: 8388608
No increase in zygote space size due to zygote compaction.
Bug: 16398684
Change-Id: I3c6f5a0b26a207ab39bb0a952400d7488e42f00c
Symptom: Sometimes HardwareLayer display is corrupted.
Root Cause: In some cases, ViewRootImpl destroys HardwareRenderer without
clearing HardwareLayers in the view hirarchy. If the system trims memory fully
and kill the glContext at the same time, HardwareLayer may corrupt.
Solution: Clear Hardware-Layers before system destroys HardwareRenderer.
Reproduce steps: Modify the cache's trim memory mechanism to make it easier to
trim fully, HardwareLayers implemented in app will easily be corrupted.
Modification of the cache is not required but make it easier to reproduce.
Change-Id: If57c802cdacf8dc37cbbcc199e74f9482834f981
Replace locale.substring(0, 2) with a function that always
returns the first component of the locale (assumed to be the
language).
bug: 10090157
(cherry picked from commit cefc79c6b18bb2e824c299e7b9e212071e5ebc43)
Change-Id: I56b02dd0c6dc222daa3ceade841a30879449bb4a
The logging is LocalTransport.java is enabled by
default.
Change default to false to remove logs, as this class
states that it is only for debug.
Change-Id: Iae63c7b62edbd503c606f0aee671a9579e78843d
This was broken by commit b27c137087 which
removed a badly phrased check. Prior to that commit,
there was a check that excluded locales whose toString()
length was not 5.
This change reinstates that check in a less roundabout
way, by excluding BCP-47 tags that don't have a country
subtag.
bug: 16038949
Change-Id: Ic24b1df87b2e2ce47d9ae04c7759088721f27b4f
This code assumed that the locale is always 5 chars in
length and was of the form xx-YY. This is not necessarily
true. The language can be 3 letters in length and the locale
might have a script and variant.
Also cleans up several nasty pieces of code and eliminates
unnecessary array copies and improves readability by using
idiomatic java.
bug: 15873165
bug: 10090157
Change-Id: Iab1cfd7b78e5772b1245654f2153caf63a96033d
Setting LayoutParams on children triggers requestLayout
which can be expensive and result in significantly lower
framerate for children layouts that don't need it. When
requestLayout method is invoked the needToMeasure boolean
will be true, this is what we'd like to avoid unless
it is actually needed.
BUG: https://code.google.com/p/android/issues/detail?id=72733
Change-Id: Id5d8f3431b5f943b1279eae41ee43d32a99514fc
Signed-off-by: Jacob Abrams <satur9nine@gmail.com>
There was lax / incomplete error checking around the
construction of Apk handles. This change changes the ApkHandle
API and makes it throw IOException if the zipfile couldn't
be opened.
Additionally :
- Fix a resource leak in DefaultContainerService
- Report errors correctly during package moves.
bug: 15563874
Change-Id: Ic71a10709eb82b8f53405bbfb2320e80aa96b771