Android использует сжатие строк за кулисами?

Я проанализировал память моего приложения для 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?

0 ответов

Другие вопросы по тегам