am: c724f2207f
* commit 'c724f2207f9186f25eeac5b2131e469dafb3bc90':
Add support for ICU data pinning in the Zygote
Change-Id: I2c14d6dad84ed2bf5d6186ab795d54184bb483cb
am: 8491b4c05d
* commit '8491b4c05d35b15e0a4c1a0ef2396cbb7169698a':
Add support for ICU data pinning in the Zygote
Change-Id: I64ba8a96ab8990a051a68cbdb35f4b1de3738d09
am: 9b1d64410d
* commit '9b1d64410dfddc38ade15d1581de2c89ad79948a':
Add support for ICU data pinning in the Zygote
Change-Id: I53a2d5f885df5cf633a4a63cb2e3c2bc5c75959e
Upstream ICU caches use SoftReferences. On Android this means
that useful cached data initialized in the Zygote are "lost" when
the Zygote GCs and cannot be shared with apps. This change makes use
of an Android patch to ICU to ensure References created during
Zygote initialization are "strong". i.e. they are never collected.
This prevents them being GCd and ensures they can be shared between
applications.
After switching ICU to use strong references, this change
also creates DecimalFormatSymbols objects for common ULocales
(ROOT, US and the user's default, if different). DecimalFormatSymbols
makes use of an ICU Reference cache and this alone has been shown to
improve the construction time of java.text.DecimalFormat by 1-1.5
milliseconds on a Seed device. This saving applies the first time one
is created in each app for each locale, and again if SoftReferences
have been cleared.
The cost to the heap size of the Zygote has been measured at ~107k.
This value will change as more caches are switched to use the new
CacheValue class.
Formatting is typically performed on the UI thread and the intention
of this change is to reduce app start up time and jank in apps like
the Dialer which do a lot of formatting when scrolling lists. The
change may also enable more virtual memory page-sharing between
apps, though this is not the specific goal.
Bug: 28326526
Change-Id: Ia2c73f6525f05b1aa81e57a31eed1616decf6bb5
am: 77f706980e
* commit '77f706980ed2dff9bfb916382be26204b589b96e':
Document that SurfaceView is synchronous in N
Change-Id: I357c8be635a5e78f42997bfc4c96509729504c35
am: 0cfbb7643e
* commit '0cfbb7643ef81cc8d1fd72bfe7c651d0e5e04949':
Document that SurfaceView is synchronous in N
Change-Id: I508585ec749b0a5d4e241757d655349b09b31566
am: 0cfbb7643e
* commit '0cfbb7643ef81cc8d1fd72bfe7c651d0e5e04949':
Document that SurfaceView is synchronous in N
Change-Id: I1e4a36d64be663103c3150c86a75e2baa51fa4c4
am: 6b10cec210
* commit '6b10cec2108746e15388125fdd6fa0cbfd6cb28d':
Demote the log in ProcessState.ensureNotDead from a wtf to a warning.
@hide SystemHealthManager.from
Change-Id: Ifc94199cc5ad69af73871cc012aa2dac31b6f67b
am: 45165c9373
* commit '45165c9373f1bf2dbe0c3f11b271daa24414ea35':
Demote the log in ProcessState.ensureNotDead from a wtf to a warning.
@hide SystemHealthManager.from
Change-Id: Ibb36bb8d2c32c0fa8ec85eb093b8281f349158fb
am: 45165c9373
* commit '45165c9373f1bf2dbe0c3f11b271daa24414ea35':
Demote the log in ProcessState.ensureNotDead from a wtf to a warning.
@hide SystemHealthManager.from
Change-Id: Id56c7ee80254eac26132956ef62b83c405a0e2f8
am: 3a0f4f4b64
* commit '3a0f4f4b642087138b59a18612be437376652c92':
Adjust Notification APIs per API council
Change-Id: I20a1e1a542f48532be1b9d71bb5fb2eb0498b395
am: 718ba309cf
* commit '718ba309cfc9bbc3bbf785bbe5dfc1049ce02d20':
Adjust Notification APIs per API council
Change-Id: I282bb2b6e4718f7b1afb3eb418a8d37deaa457b0
am: 718ba309cf
* commit '718ba309cfc9bbc3bbf785bbe5dfc1049ce02d20':
Adjust Notification APIs per API council
Change-Id: Ic85fdd92c691f7b30cd73a9e1a7f147fcf55c3c5
Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.
Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
We can't use the same instance on both the main and the background
thread, as this will lead to problems.
Change-Id: Ieec525f028df2d0596667126d8f5004773461517
Fixes: 28745682
Also fixes a slight bug where a CharSequence extra
was retrieved as a string.
Change-Id: I8a40ab1934b8a20355c3cd4afd66a4a7b91fb517
Fixes: 28775580
Fixes: 28775582
It's raising alarm bells but there isn't much we can do without a lot
of rewriting inside the ActivityManager. The only consequence is stats
that are off by a little bit.
Bug: 28581070
Change-Id: If51568c3a708a907ceef6452e7d45599a57454f7