Производительность Guice на Android - PullRequest
18 голосов
/ 21 февраля 2011

Как разработчик Java, я привык к тому, что внедрение приложений доступно в приложениях.Для Android, однако, я особенно опасаюсь производительности.Как влияет производительность на использование Guice в приложении для Android?Я предполагаю, что есть некоторые издержки, но достаточно ли это важно, чтобы я избегал использования Guice?

Я бы использовал его, скорее всего, просто для добавления нескольких общих объектов в различные действия.

Ответы [ 4 ]

10 голосов
/ 10 ноября 2013

Я бы не стал использовать DI в Android, как подсказывает Google: http://developer.android.com/training/articles/memory.html#DependencyInjection

Кинжал решает некоторые проблемы с синхронизацией, но все равно тратит память без реальной выгоды.

6 голосов
/ 25 марта 2013

Roboguice (и Guice) могут значительно снизить время запуска приложения.Моему приложению среднего размера, которое еще не закончено, потребовалось почти 15 секунд для запуска на HTC EVO 4g.

Взгляните на Dagger в качестве альтернативы, которая практически не должна создавать накладных расходов при запуске.

6 голосов
/ 22 февраля 2011

Начиная с версии 3, Guice кэширует отражающие объекты для повышения производительности.По крайней мере, одна ошибка для dalvik позволяет ускорить поиск аннотаций, но текущая производительность работоспособна.

0 голосов
/ 17 февраля 2017

Вы обязательно должны использовать Dagger 2 для проектов Android, если вы заинтересованы в производительности.

Dagger 2 не использует отражение для сканирования кода вашего приложения. Статическая реализация Dagger во время компиляции означает, что его можно использовать в приложениях Android без лишних затрат времени выполнения или использования памяти.

...