问题方法onPause()如果我改变设备的方向

时间:2016-08-26 09:23:43

标签: java android android-lifecycle

我插入onPause()调用注销用户;但是当我改变android设备的方向时,方法onPause被调用相同。

为什么?如果我将设备转为水平/纵向,我不需要调用logoutUser方法。

2 个答案:

答案 0 :(得分:1)

当我们改变活动的方向,例如水平到纵向时,重新创建时间活动,因此根据android活动生命周期OnPause()方法将被调用。

要避免调用方法logoutUser,必须使用onSavedInstanceState()方法保存用户的当前状态。

请参阅此链接以了解更多信息,https://developer.android.com/training/basics/activity-lifecycle/recreating.html

答案 1 :(得分:0)

默认情况下,只要我们更改手机的方向,就会重新创建Activity。检查Handling Runtime Changes

  

某些设备配置可能会在运行时更改(例如屏幕方向,键盘可用性和语言)。当发生这样的更改时,Android会重新启动正在运行的Activity(调用onDestroy(),然后调用onCreate())

娱乐背后的原因是应用可能希望根据新方向更改布局。

但在大多数情况下,每次用户更改手机定位时都不需要重新创建Activity,因为您可以在Activity的{​​{1}}上进行回调并进行必要的操作布局变化。您可以通过在onConfigurationChanged()文件中的Activity标记中添加以下行来停用它们。

AndroidManifest.xml