在 Android 生命周期中分配控制器 class 的最佳位置是什么?
What's the best place to allocate your controller class in the Android lifecycle?
我在我的 android 项目中使用了 MVP 模式。
因此在我将要使用的 activity 中分配演示者。
在 android 中,在 activity 完全激活之前有 3 个阶段。
onCreate
、onStart
和 onResume
,但是分配 Presenter class 以获得最佳 UI 和内存性能的最佳位置是什么?
并且 Presenter class 不应泄漏内存。
大多数情况下,您应该在 onCreate
回调中执行此操作。一切都应该在这里实例化。通常没有理由在其他地方这样做,因为无论 Activity 状态如何,您都有相同的演示者。在某些特殊情况下,如果您必须绑定和取消绑定某种您的 activity 在暂停或停止状态下不监听事件的监听器,您可以使用 onResume
和 onPause
但同样,那只是特例。大多数时候,您只需在已创建的演示者上调用一些方法。
你应该在 onCreate()
完成。但是 onCreate()
在创建 activity 时只被调用一次,如果 activity 进入暂停状态,它将通过调用 onResume()
恢复 activity;它不会再调用 onCreate()
。因此,如果有些事情需要您反复检查,那么 onResume()
是您检查的好地方。
我在我的 android 项目中使用了 MVP 模式。
因此在我将要使用的 activity 中分配演示者。
在 android 中,在 activity 完全激活之前有 3 个阶段。
onCreate
、onStart
和 onResume
,但是分配 Presenter class 以获得最佳 UI 和内存性能的最佳位置是什么?
并且 Presenter class 不应泄漏内存。
大多数情况下,您应该在 onCreate
回调中执行此操作。一切都应该在这里实例化。通常没有理由在其他地方这样做,因为无论 Activity 状态如何,您都有相同的演示者。在某些特殊情况下,如果您必须绑定和取消绑定某种您的 activity 在暂停或停止状态下不监听事件的监听器,您可以使用 onResume
和 onPause
但同样,那只是特例。大多数时候,您只需在已创建的演示者上调用一些方法。
你应该在 onCreate()
完成。但是 onCreate()
在创建 activity 时只被调用一次,如果 activity 进入暂停状态,它将通过调用 onResume()
恢复 activity;它不会再调用 onCreate()
。因此,如果有些事情需要您反复检查,那么 onResume()
是您检查的好地方。