Строгое кодирование строки влияет на производительность?

Всякий раз, когда я делаю какое-либо приложение, я всегда жестко кодирую строку вместо ссылки на нее из строкового ресурса из XML. Приложение работает нормально, но дает мне предупреждение использовать ресурс @string

Кнопка примера:

 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="click here" /> 

Мой вопрос заключается в том, повлияет ли это на производительность моего приложения, если я это сделаю, или он (ресурс @string ) используется только для интернационализации.

Это предупреждение для Android lint, которое поможет вам с локализацией.

Технически жесткие строки кодирования заставят ваше приложение работать немного лучше, так как ему не придется каждый раз искать строку из соответствующего R int. Однако эта разница в производительности будет незначительной, и никто не сможет ее заметить.

Тем не менее, вы всегда должны хранить свои ресурсы String в папке значений, поскольку это делает локализацию очень простой.

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

Это не вызовет проблемы с производительностью. Но определение строк в strings.xml поощряется для удобства обслуживания и lolalization. Например, рассмотрим два сценария ниже.

Сценарий 1

Когда вам нужно изменить строку, используемую во многих местах. В вашем случае вам придется изменить все "click here" во всех макетах. Но если вы указали в strings.xml, то только изменение, сделанное в xml, изменит их все.

Сценарий 2

Для другого примера, если вы хотите показать другой язык для разных языков, вам нужно использовать string.xml.

Как говорили другие, это для локализации, но для производительности это зависит от того, сколько раз в секунду эти строки просматриваются. Я видел случай, когда приложение запускается медленно, а выборка в стеке показала, что 50% времени тратится на поиск ресурсов по строкам, и причина, по которой просматривались строки, заключалась в том, чтобы отображать их на заставке, которая Дает пользователю что-то посмотреть, пока приложение запускается!

Я не думаю, что hardcoding строка сделает вашу программу работать медленнее. Infact это повысит производительность, так как нет необходимости в поиске String в классе R.java. Ссылка на строку из strings.xml – лучшая практика из-за двух причин:

1- Локализация 2, если вы используете одну и ту же строку в нескольких местах и ​​хотите редактировать ее во всех местах, экономит накладные расходы на редактирование всех жестко закодированных строк отдельно.

Строки жесткого кодирования не будут влиять на производительность напрямую. Это влияет на ремонтопригодность.

В случае, если вы жестко задаете строку и на более позднем этапе, если хотите изменить строку «Click me», чтобы «добавить» или что-то еще, вам нужно выполнить поиск в вашем полном проекте, чтобы изменить строку, где и все это используется. Так что лучше следить за strings.xml всегда. 🙂

Ваше приложение не будет поддерживать Локализацию, тогда, если это не является требованием вашего приложения, тогда не будет проблем с использованием жестко закодированных строк.