Я новичок в мире android. Я разрабатываю приложение для Android, где мне нужно использовать некоторое статическое поле и некоторое конечное статическое поле. Как озабоченность в связи с выполнением application.i сделали поиск по этой темеЧто будет влиять на статическую переменную или конечную статическую varibale на константу
1.Что будет влияние на память и производительность
2.КАК сбора мусора работу при обращении со статическим или конечным статическим полем.
- Когда эти поля доступны для сбора мусора.
Не все переменные 'static final' являются константами. Они должны быть инициализированы с постоянным выражением, которое является константой, для JLS. Это означает, что они должны быть примитивными или «String's». Они компилируются в код как литералы. Не все непостоянные «статические финалы» можно рассматривать как константы; они могут быть изменчивыми. Нестатистическими переменными могут быть константы, будь то члены или локальные. Только константы и «конечные» переменные для неизменяемых объектов должны рассматриваться как константы, включая получение имен во всех заглавных строках с символами подчеркивания. –
Будучи изменчивым, это не означает, что они не являются постоянными. ССЫЛКИ постоянны. Конечно, данные, которые он ссылается, могут быть изменены, если класс позволяет это. Совершенно другая концепция. Точно так же, как указатель const в C++ может все еще иметь данные, указанные при изменении, если его имя не указано const * const –
@LewBloch. Для этого я сделал отдельный класс для хранения всех статических конечных полей и инициализации с помощью константного выражения, т.е. public static final String CUSTOMER_EDIT_USER_ID = "CUSTOMER_EDIT_USER_ID"; , Мой вопрос состоял в том, как это повлияет на память и соответствует производительности приложения и когда статическое конечное или статическое поле доступно для сбора мусора. –