Я проанализировал память моего приложения для Android на Android 28 и обнаружил, что большая часть его используется только для строк:
Очевидно, я ищу способы уменьшения потребления памяти.Таким образом, идея состоит в том, чтобы перейти от строк UTF-16 к UTF-8, чтобы сэкономить примерно 50%.
Я был очень впечатлен тем, как работает сжатие строк в Java 9: https://www.baeldung.com/java-9-compact-string
Поскольку яя могу видеть распределение byte[]
(не char[]
), интересно, использует ли Android то же самое за сценой.Если нет, то каковы потенциальные проблемы с тем, чтобы сделать примерно то же самое в области приложения (иметь класс my.app.String
с компактным импл).
PS.Я профилировал его на Android 24 и вижу, что выделено char[]
:
Означает ли это сжатие строк?фактически был реализован / включен после Android 24?