Android生命周期哪个事件在生命周期中只触发一次?

Bha*_*han 3 android android-lifecycle

我已经阅读了一些博客并访问了一些网站.我想知道在生命周期中哪一个事件只被触发了一次.在阅读博客后,我意识到该onCreate()方法在生命周期中只被触发一次.我不知道我是对还是错.现在我的问题是,我想解雇任何只有在我改变横向或纵向方向时触发一次的事件,而不是这个事件没有被触发意味着如果用户改变方向而不是未被触发的事件.我想知道在启动Activity之后哪个事件触发了一次.这个onCreate()

Dha*_*mar 7

在此输入图像描述

onCreateonDestroyid只开了一次.

onCreate:在第一次创建活动时调用.这是您应该进行所有常规静态设置的地方:创建视图,将数据绑定到列表等等......

onDestroy:在您的活动被销毁之前收到的最后一个电话.这可能是因为活动正在结束.

所以,将你的事件代码放在onCreate中.(但是它取决于你的要求你要做什么,你的代码可能会改变)


活动流程:

首先onCreate调用 - >下一步 - > onStart- > onResume- > 你的Activity正在运行,显示你的布局.(无论你放在layout.xml中)

现在,如果你按HOME按钮,它会转到 - > onPause- > onStop.(Activity不会破坏它在后台运行).现在再次打开Activity,转到 - > onRestart- > onStart- > onResumme(活动再次运行).

现在如果你按下后退按钮然后 - > onPause- > onStop- > onDestroy.


编辑:

在使用方向更改时停止重新启动活动

android:configChanges="orientation|keyboardHidden" 在android清单文件中.

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)

如果你开发API等级13或更高,你必须使用

android:configChanges="orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)