Add some initial metric categorizing zygote and image heaps.

This tracks the size of interned strings, using a heuristic to split
them into three categories, and objects in or strongly reachable from
android.icu classes. It's not attempting to define a grand unified
theory of heap categorization, just tracking some things that seem
useful.

Between them, these categories account for 56% of zygote+image heaps,
at time of writing: 23% for code-like strings, 16% for text-like
strings, and 16% for android.icu.

Bug: 67999970
Test: tradefed.sh run commandAndExit template/local_min --template:map test=libcore-memory-metrics-tests
Change-Id: I2da68ced7879879ed6c688a353376aa8affc8735
2 files changed