History log of /frameworks/base/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
a1d49337fb3ff4b336cddb1198658778b0e8949b 06-Oct-2014 Yohei Yukawa <yukawa@google.com> Use try-with-resources

We can start relying on try-with-resources in framework.

Change-Id: Iac1194022065c41e8593524e483d6076d4ea72fa
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
f06569561fe1c6e898debf8bb9f37331a9f87323 03-Mar-2014 Yohei Yukawa <yukawa@google.com> Introduce InputMethodSubtypeArray for memory efficient IPCs

This CL introduces InputMethodSubtypeArray which compresses
multiple instances of InputMethodSubtype to reduce the risk
of TransactionTooLargeException during IPCs.

There are some IMEs which rapidly adding new subtypes into
their supported language list. One problem here is that each
instance of InputMethodInfo internally owns the list of
supported subtypes. Basically it requires additional
200 ~ 300 bytes for each subtype when InputMethodInfo is
transffered via IPCs. We should keep the size less than
100 KB in typical scenario.

With this CL, the list of InputMethodSubtype is marshalled
with GZIP compression. Approximately one InputMethodInfo is
marshalled within 10 KB even when it has 100 subtypes.

No negative performance impact is observed so far. The cost of
decompression seems to be compensated by another optimization
in this CL. Actually marshalling cost is reduced with this CL
by caching the compressed data on demand.

BUG: 12954290
Change-Id: Ibb2940fcc02f3b3b51ba6bbe127d646fd7de7c45
/frameworks/base/core/java/android/view/inputmethod/InputMethodSubtypeArray.java