Commits

Christopher Tate authored b9116762090
Avoid parceling redundant ApplicationInfo objects within PackageInfo Two benefits: 1) marshaling one flattened ApplicationInfo as part of a PackageInfo parcel rather than one per included ComponentInfo; and 2) producing one ApplicationInfo at unmarshaling time and sharing the reference to it among all included ComponentInfo instances, rather than the previous implementation that generated a separate ApplicationInfo instance for each ComponentInfo. In some cases there can be many hundreds of ComponentInfo objects embedded in a single PackageInfo, so coalescing duplicates is a significant win for both payload size and object pressure. Bug 19519502 Bug 20453802 Change-Id: Ib888810dad4471084fab9ead1ebb5e0b932905f1