当调用onCreate()时,RoboGuice是否重新实例化以前存在的对象

时间:2011-12-02 03:13:00

标签: android roboguice

My Activity注入了许多初始化的对象 在第一次调用onCreate之前。 当我的Activity通过调用finish方法完成时,它会通过 通过onDestroy返回主“OS桌面”窗口。 然后我再次调用我的应用程序,再次调用onCreate。 这一次虽然我的观点与最初完成时的观点相同 上面提到的。 因此,我想知道RoboGuice是否重新实例化注入 对象又来了?如果没有,有没有办法让我这样做? 感谢。

2 个答案:

答案 0 :(得分:1)

  

你是说这些没有重新实例化吗?

当onCreate()被调用时。当您更改手机方向时,每个对象都会再次注入。但是如果注入的对象之一是Singleton,则将注入相同的对象实例。 “Singleton”在整个应用程序的范围内工作,因此活动生命周期对符号对象不起作用。

答案 1 :(得分:0)

查看Android activity lifecycle文档。

如果Android调用onCreate,则会创建活动的新实例,并且将实例化任何非单例组件,并且roboguice将注入所有组件。

如果您只需要一个组件的单个实例,则可以将其设为单个实例。只需要谨慎使用单例内存,因为它们将在应用程序进程期间存在。因此,即使某项活动已被销毁但您的应用程序流程仍在运行,这些单身人士也会消耗内存。

Roboguice只是一个围绕guice的包装器。如果您有兴趣寻求获取课程实例的其他选项,请查看Bindings中的ScopesProvidersguice