Pull to refresh
20
0
Dmitry Tsyvtsyn @DmitryTsyvtsyn

Android developer, photographer and traveler

Send message

хэш-таблица нужна для хранения фабрик зависимостей, чтобы динамически добавлять фабрики и получать экземпляры зависимостей когда это нужно

DI контейнер это всего лишь мешок с фабриками, не более, автоматизация это уже другой аспект, либо она может быть либо нет (если честно для рядовых задач в Dagger нужно гораздо больше действий сделать, чем в моём DI решении), если нужны дополнительные параметры для фабрик или ещё что-то всегда можно это добавить, только если это действительно нужно в вашем проекте

1) это чтобы inline работал, можно сделать публичным неизменяемый вариант коллекции + норм доку написать и все дела

2) вообще фигня, в Kotlin полно inline функций, начиная с Android расширений и заканчивая коллекциями, не вижу в этом проблемы, чтобы на неё вообще обращать внимание, да и вообще Dagger генерит в 3 раза больше шаблонного кода, а Hilt в 6-10, так что сомнительно, но окэй

Поправил, спасибо!

Насчет тестов хорошая идея, возможно сделаю...

Сравнение простое:

1) HashSet и HashMap создают минимум в два раза больше обьектов чем ScatterSet и ScatterMap, так как ключ и значение содержится в Map.Entry, а это дополнительный обьект

2) HashMap<String, Float> создаст еще и обертку над примитивным типом в отличии от objectFloatMapOf()

3) Отсюда следует, что при большом количестве коллекций, особенно если это примитивные, можно достигнуть сокращение памяти в десятки раз

P.S. Согласен, что надо бы сделать замеры, чтобы наверняка быть уверенным, возможно добавлю...

Если это классическая прилка в стиле "получить список данных из инета, пропустить его через всякие фильтры и тд, а затем отобразить" наверно особо нет, но для сложных алгоритмов где колоссальное количество коллекций есть: это сократит в десятки раз обьем используемой ОЗУ

Information

Rating
Does not participate
Date of birth
Registered
Activity