Как стать автором
Обновить

Как найти подходящую абстракцию для работы со строками в Android

Время на прочтение8 мин
Количество просмотров3K
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Комментарии 3

А если юзер поменял локаль на девайсе? Надо бы все перелоадить…
А вообще это избыточно. Как по мне, то лучше строки из ресурсов держать в lru-кеше.

С локалью все хорошо будет. Строковое значение резолвится на уровне UI через вызов asString, при смене конфигурации UI пересоздастся и вызовет опять asString.

Для строк из xml-ресурсов TextResource хранит только id строки. А вот SimpleTextResource придется переводить, но это необходимо делать и в том случае, если мы не вводим дополнительную абстракцию. То есть повторно вызывать MyViewModel.loadText() надо только в том случае, если с сервера приходят данные на разных языках, в зависимости от параметра запроса.
Также следует отметить, что описанный в статье TextResource предназначен не для кеширования, а для повышения чистоты и гибкости кода.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий