Я собираю группу лучших рекомендаций по производительности Android, и возник один вопрос о едином шаблоне проектирования.
Представьте, что у вас есть приложение для Android, которое использует следующие два различных шаблона:
Класс enum:
public enum MyEnumSingleton {
INSTANCE;
...
}
Статический класс:
public final MyUtilsClass {
private Utils() {
//no instance
}
...
}
Эти два класса используются по существу с одной и той же целью: кеширование и служебные методы.
С точки зрения использования памяти:
- Какой шаблон наиболее удобен для памяти?
- Будет ли ОС загружать все перечисления в память при запуске приложения?
- Операционная система загружает класс только в память, когда он используется приложением?
- Есть ли какой-либо вариант использования, когда один шаблон должен быть сильно использован против другого?
Спасибо заранее.