在 Android 生命周期中分配控制器 class 的最佳位置是什么?

What's the best place to allocate your controller class in the Android lifecycle?

我在我的 android 项目中使用了 MVP 模式。 因此在我将要使用的 activity 中分配演示者。 在 android 中,在 activity 完全激活之前有 3 个阶段。 onCreateonStartonResume,但是分配 Presenter class 以获得最佳 UI 和内存性能的最佳位置是什么? 并且 Presenter class 不应泄漏内存。

大多数情况下,您应该在 onCreate 回调中执行此操作。一切都应该在这里实例化。通常没有理由在其他地方这样做,因为无论 Activity 状态如何,您都有相同的演示者。在某些特殊情况下,如果您必须绑定和取消绑定某种您的 activity 在暂停或停止状态下不监听事件的监听器,您可以使用 onResumeonPause 但同样,那只是特例。大多数时候,您只需在已创建的演示者上调用一些方法。

你应该在 onCreate() 完成。但是 onCreate() 在创建 activity 时只被调用一次,如果 activity 进入暂停状态,它将通过调用 onResume() 恢复 activity;它不会再调用 onCreate()。因此,如果有些事情需要您反复检查,那么 onResume() 是您检查的好地方。