Android上的Guice性能

作为一名Java开发人员,我已经习惯于在应用程序中使用dependency injection。 对于Android而言,我对性能特别谨慎。 在Android应用程序中使用Guice的性能影响是什么? 我假设有一些开销,但是是否足够重要,我应该避免使用Guice?

我使用它可能只是将一些共享对象注入到各种活动中。

Solutions Collecting From Web of "Android上的Guice性能"

从版本3开始,Guicecachingreflection对象以提高性能。 对dalvik至less有一个bug可以使注解查找更快,但是当前的性能是可行的。

我会避免在Android中使用DI,因为谷歌build议: http : //developer.android.com/training/articles/memory.html#DependencyInjection

匕首解决了一些时间问题,但仍然浪费记忆,没有任何实际的好处。

Roboguice(和Guice)可以显着降低应用程序启动时间。 我的中等大小和尚未完成的应用程序花了差不多15秒,开始在HTC EVO 4G。

看看匕首作为替代品,应该提供几乎没有启动开销。

如果你关心性能,你一定要使用Dagger 2来进行Android项目。

匕首2不使用reflection来扫描你的应用程序的代码。 Dagger的静态,编译时实现意味着它可以在Android应用程序中使用,而无需运行成本或内存使用。