Это скорее вопрос Java, чем вопрос на Android. Рекомендуется использовать static для внутренних классов, чтобы избежать утечек памяти, если вы выберете их экземпляры из класса. Вы можете взглянуть на this удивительное сообщение, объясняющее утечку памяти во внутренних классах.
В основном то, что Никс говорит:
- Если вы объявляете viewholder как статические вы можете использовать его в других адаптеров. Во всяком случае, я не рекомендую это делать, создаю новый разделенный класс и использую его из нескольких мест, это имеет смысл. Один класс для одной цели.
- В случае держателей вида эти классы будут использоваться только внутри адаптера, их экземпляры не должны переходить к фрагменту или активности или в другом месте по определению. Это означает, что он статический или нестатический, в случае держателей для просмотра, тот же.
Отвечая на ваш вопрос об исполнении, вы можете обратиться к this ответам. Статический будет занимать меньше памяти, чем другой, но опять же, мы говорим о переработчиках, которые будут перерабатывать экземпляры, поэтому влияние памяти не является проблемой.
Удивительный ответ! –
объяснение –
отличное объяснение – user2695433