c8f71aa67ea599cb80205496cb67e9e7a121299c |
|
08-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
Add ResTable_sparseTypeEntry support Benchmarks on bullhead-userdebug show that there is a negligent performance impact when using sparse entries on a 30% loaded sparse type of 1000 resources. Benchmark Time CPU Iterations ----------------------------------------------------------------------------------- BM_SparseEntryGetResourceSparseLarge 255 ns 254 ns 2751408 BM_SparseEntryGetResourceNotSparseLarge 254 ns 254 ns 2756534 Bug: 27381711 Test: make libandroidfw_tests aapt2_tests Change-Id: I051ea22f2f6b2bc3696e446adc9e2a34be18009f
/frameworks/base/libs/androidfw/TypeWrappers.cpp
|
fb600d60c06192f1a5b1c09bc86f92a80894a6c1 |
|
18-Jun-2014 |
Adam Lesinski <adamlesinski@google.com> |
Fix build break in log statement For logging purposes, a uint32_t was being converted into a void pointer, which on certain systems would be a conversion to a different size. Change-Id: I90af69ab975d84c9c8cbb1cce94ff4e9cc6edcf2
/frameworks/base/libs/androidfw/TypeWrappers.cpp
|
f90f2f8dc36e7243b85e0b6a7fd5a590893c827e |
|
06-Jun-2014 |
Adam Lesinski <adamlesinski@google.com> |
Support multiple resource tables with same package In order to support APK split features, the resource table needs to support loading multiple resource tables with the same package but potentially new set of type IDs. This adds some complexity as the type ID space changes from dense and ordered to potentially sparse. A ByteBucketArray is used to store the type IDs in a memory efficient way that allows for fast retrieval. In addition, the IDMAP format has changed. We no longer need random access to the type data, since we store the types differently. However, random access to entries of a given type is still required. Change-Id: If6f5be680b405b368941d9c1f2b5d2ddca964160
/frameworks/base/libs/androidfw/TypeWrappers.cpp
|