| Index: build/android/resource_sizes.py
|
| diff --git a/build/android/resource_sizes.py b/build/android/resource_sizes.py
|
| index c93f6758c1fec8e7cdae1b6d66880427ddefc8d1..f6e7e42d57adc05ee741b39261e09427db539dbc 100755
|
| --- a/build/android/resource_sizes.py
|
| +++ b/build/android/resource_sizes.py
|
| @@ -562,12 +562,17 @@ def PrintPakAnalysis(apk_filename, min_pak_resource_size):
|
| # Calculate aggregate stats about resources across pak files.
|
| resource_count_map = collections.defaultdict(int)
|
| resource_size_map = collections.defaultdict(int)
|
| + seen_data_ids = set()
|
| + alias_overhead_bytes = 4
|
| resource_overhead_bytes = 6
|
| for pak in paks:
|
| - for r in pak.resources:
|
| - resource_count_map[r] += 1
|
| - resource_size_map[r] += len(pak.resources[r]) + resource_overhead_bytes
|
| -
|
| + for k, v in pak.resources.iteritems():
|
| + resource_count_map[k] += 1
|
| + if id(v) not in seen_data_ids:
|
| + seen_data_ids.add(id(v))
|
| + resource_size_map[k] += resource_overhead_bytes + len(v)
|
| + else:
|
| + resource_size_map[k] += alias_overhead_bytes
|
| # Output the overall resource summary.
|
| total_resource_size = sum(resource_size_map.values())
|
| total_resource_count = len(resource_count_map)
|
|
|