Каковы лучшие практики в Android, создавать новый строковый объект (статический финал) или использовать только файл string.xml (и вызывать множество получателей)? - PullRequest
2 голосов
/ 03 октября 2011

В Android существует конфликт о том, как добиться максимальной производительности (например, меньше сборщика мусора).

Во-первых, в лучших практиках Android рекомендуется избегать методов получения и установки, а также избегать создания недолговечных объектов (например: private static final String name = "my name").Тогда, что мне делать со всеми строками, которые есть в моем коде?Должен ли я установить их все в файле string.xml, а затем получить его с помощью «this.getString (R.string.myString)» или все еще хорошо для производительности продолжать использовать «static final String name =« my name »???

Из-за большого количества строк в моем приложении, если я буду использовать только строки из string.xml, это будет слишком много "getString" во всем коде, не так ли плохо?

1 Ответ

3 голосов
/ 03 октября 2011

При вызове getString() наблюдаются незначительные потери производительности, но при этом отсутствуют дополнительные затраты памяти.А использование string.xml сделает управление строками намного проще.Кроме того, это значительно упрощает локализацию этих значений, если вы когда-либо решите сделать это в будущем.

Кроме того, значения в ваших файлах ресурсов будут скомпилированы в final static Strings, так что в аналогичной ситуацииконец.

...