Intereting Posts
Ошибка курсора Android – «убедитесь, что курсор инициализирован правильно, прежде чем доступ к данным из него …» Получение имени пакета приложения в плагине gradle Выпадающая высота AutoCompleteTextView ограничена во всплывающем диалоговом окне Невозможно подключить отладчик к Jelly Bean Galaxy Nexus Android 2.2 MediaPlayer отлично работает с одним URL-адресом SHOUTcast, но не с другим Как зарегистрировать тело запроса и ответа с помощью Retrofit-Android? Android реализует Google плюс ошибку входа в mConnectionResult.hasResolution () Как можно включить отладку usb для Kindle Fire на Linux (Ubuntu)? Использование пользовательского инструментарияTestRunner в Eclipse вызывает ошибку Как получить MD5 из файла debug.keystore? Не удалось запустить «adb root» на корневом телефоне Android Продолжить отчет о покрытии кода jacoco после теста с ошибкой Как я могу решить проблему с ошибкой MMUMapper? Android SearchView.OnQueryTextListener OnQueryTextSubmit не запускается в пустой строке запроса Как установить ширину, которая равна другому виджету на Android

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 более читабельна для меня.

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

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

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

а также

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