Intereting Posts
Явный прозрачный градиент для Android XML Приложение Android ClassNotFoundException для основной деятельности MainActivity просочилась в ServiceConnection android.speech.SpeechRecognizer$Connection@414ee400, которая была первоначально связана здесь Android DatePicker изменится только на месяц и год Меню переполнения Android, расположенное над панелью действий / панелью инструментов? Ошибка таймаута в android Как удалить старые строки TextView Как я могу использовать layout_weight в представлении элементов RecyclerView или ListView, чтобы элементы с равной высотой заполняли доступное пространство на экране? Как правильно обрабатывать onError внутри RxJava (Android)? Кинжал 2 на Android. Различные способы хранения и доступа к компоненту @Singleton Как реализовать трехсторонний конференц-звонок с чатом WebRTC для Android? Как программно отображать свернутые элементы в CoordinatorLayout? Корневые привилегии для приложения Android (полное приложение. Не только несколько команд) Как заставить Share Intent открыть конкретное приложение? Android – как сделать высококачественный 4-х градиент?

Android – strings.xml против статических констант

Вот что я думаю:

Строки в файле strings.xml должны использоваться для использования макетов (xml). А статические константы предназначены для использования кодами (.java).

Когда дело доходит до лучших практик, я хотел бы знать, какой из них следует использовать.

Если у вас много строк, будет ли эффект производительности?

getString(...) vs MyConstants.THIS_IS_A_CONSTANT 

Solutions Collecting From Web of "Android – strings.xml против статических констант"

В этих двух случаях есть и некоторые преимущества и недостатки (я должен сказать преимущества и меньше преимуществ).

Как в комментариях к вашему вопросу, они сказали все это. Я просто хочу добавить некоторые незначительные моменты.

Локализация:

Для проблемы локализации определенно ресурс String является лучшим, поскольку вы можете использовать другой языковой файл для differente Locale.

Память:

Поскольку ресурсы String сохраняются в XML-файле, поэтому есть дополнительные накладные расходы (но не основной)

Представление:

Чтение из памяти всегда быстрее, чем чтение из файла. Хотя в этом случае разница в производительности незначительна

коммунальных:

Это всего лишь личное мнение. Мне поддерживать файл res проще, чем поддерживать строку в классе. String.xml более читабельна для меня.

В заключение:

Поэтому мое предложение

Используйте строковые ресурсы для текстов, которые будут отображаться для пользователя.

а также

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