当您在旋转时向活动注入具有活动范围的演示者时,如何在活动中保持演示者处于活动状态?
我的理解是每次都会销毁演示者和活动,并创建一个新的演示者和活动。是否有一种方法可以在重新创建活动时保持演示者的活跃性?
是的,如果我们谈论的是配置更改(例如旋转),那么就可以这样做。
您可以覆盖FragmentActivity的方法
fun onRetainCustomNonConfigurationInstance():Any
- 以保存您的Presenter在旋转时。
要在onCreate()期间恢复相同的实例,
只需调用
getLastCustomNonConfigurationInstance():Any
这里有一个在BaseActivity中保存Dagger 2子组件的示例。当您使用保存dagger的组件而不仅仅是presenter的方法时,创建presenter变得非常容易:
@Inject
@Inject