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

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

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

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

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