enum.INSTANCE против класса со статическими методами - PullRequest
0 голосов
/ 09 ноября 2018

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

Представьте, что у вас есть приложение для Android, которое использует следующие два различных шаблона:

Класс enum:

public enum MyEnumSingleton {
    INSTANCE;

    ...
}

Статический класс:

public final MyUtilsClass {

    private Utils() {
        //no instance
    }

    ...
}

Эти два класса используются по существу с одной и той же целью: кеширование и служебные методы.

С точки зрения использования памяти:

  1. Какой шаблон наиболее удобен для памяти?
  2. Будет ли ОС загружать все перечисления в память при запуске приложения?
  3. Операционная система загружает класс только в память, когда он используется приложением?
  4. Есть ли какой-либо вариант использования, когда один шаблон должен быть сильно использован против другого?

Спасибо заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...