Подтвердить что ты не робот

Эффективность Guice на Android

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

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

4b9b3361

Ответ 1

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

Ответ 3

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

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

Ответ 4

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

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