Android Activity生命周期
Activity基类定义了一系列管理Activity生命周期的事件。
Android应用程序的生命周期由系统严格管理。
Android在单独的进程中运行每个应用程序,每个都托管自己的虚拟机。
Activity类定义以下事件:
onCreate()
当首次创建Activity时调用onStart()
当Activity对用户可见时调用
onResume()
当Activity开始与用户交互时调用
onPause()
当前Activity正在暂停且前一个Activity正在恢复时调用
onStop()
当Activity不再对用户可见时调用
onDestroy()
在Activity被系统销毁之前调用onRestart()
当Activity已停止并再次启动时调用
你不需要对所有这些方法做出反应。
例子
package cn.w3cschool.app; import android.app.Activity; import android.os.Bundle; import android.util.Log; /*from www.w3cschool.cn*/ public class MainActivity extends Activity { String tag = "www.w3cschool.cn"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(tag, "In the onCreate() event"); } public void onStart() { super.onStart(); Log.d(tag, "In the onStart() event"); } public void onRestart() { super.onRestart(); Log.d(tag, "In the onRestart() event"); } public void onResume() { super.onResume(); Log.d(tag, "In the onResume() event"); } public void onPause() { super.onPause(); Log.d(tag, "In the onPause() event"); } public void onStop() { super.onStop(); Log.d(tag, "In the onStop() event"); } public void onDestroy() { super.onDestroy(); Log.d(tag, "In the onDestroy() event"); } }
注意
当第一次创建Activity时,调用 onCreate()
方法。
我们可以使用 onCreate()
方法来创建UI元素。
单击后退按钮时,Activity将被销毁。你需要在Activity中写入其他代码,以在销毁时保留其状态。
当Activity发送到后台时,以及当用户按下后退按钮时,onPause()
方法被调用。
当Activity启动时,始终调用onStart()
和 onResume()
方法,而不管Activity是从后台恢复还是新创建的。
我们应该使用 onCreate()
方法来创建和实例化你将在应用程序中使用的对象。
当你的Activity在前台时,我们应该使用 onResume()
方法来启动任何需要运行的服务或代码。
当Activity不在前台时,我们应该使用 onPause()
方法停止任何不需要运行的服务或代码。
我们应该在销毁Activity之前使用 onDestroy()
方法释放资源。
如果应用程序只有一个Activity并且该Activity被销毁,那么应用程序仍将在内存中运行。
更多建议: