安卓中的Activity生命周期是指Activity在启动到结束的整个过程,它包括了Activity的创建、运行、暂停、停止以及销毁等几个阶段。
Activity的生命周期由7个不同的回调方法来定义,它们分别是:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()和onDestroy()。
// Activity 生命周期回调函数 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化 Activity 代码 } @Override protected void onStart(){ super.onStart(); // 启动 Activity 时执行的代码 } @Override protected void onResume(){ super.onResume(); // 获取焦点时执行的代码 } @Override protected void onPause(){ super.onPause(); // 暂停 Activity 时执行的代码 } @Override protected void onStop(){ super.onStop(); // 停止 Activity 时执行的代码 } @Override protected void onRestart(){ super.onRestart(); // 重新启动 Activity 时执行的代码 } @Override protected void onDestroy(){ super.onDestroy(); // 销毁 Activity 时执行的代码 }
当一个Activity被创建时(即由其他Activity跳转而来),就会调用其中的OnCreate()方法;当一个Activity失去焦点时(即将要跳转到其他Activity时),就会调用其中的OnPause()方法。
当一个Activity重新得到焦点时(即从其他Activity返回时),就会调用其中的OnResume()方法。如果一个Activity已经处于运行态但是失去了焦点并没有销毁时(即将要重新得到焦点时)就会调用OnRestart()方法。
当一个Activity已处于运行态但是失去了焦点并没有销毁时把它变成不可视态就会调用OnStop()方法。而当一个Activity已处于不可视态但是并没有销毁时把它变成销毁态就会调用OnDestroy()方法。
Activity基类定义了一系列管理Activity生命周期的事件。
Android应用程序的生命周期由系统严格管理。
Android在单独的进程中运行每个应用程序,每个都托管自己的虚拟机。
Activity类定义以下事件:
onCreate()
当首次创建Activity时调用onStart()
当Activity对用户可见时调用onResume()
当Activity开始与用户交互时调用onPause()
当前Activity正在暂停且前一个Activity正在恢复时调用onStop()
当Activity不再对用户可见时调用onDestroy()
在Activity被系统销毁之前调用onRestart()
当Activity已停止并再次启动时调用你不需要对所有这些方法做出反应。
package cn..app; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { String tag = "www..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被销毁,那么应用程序仍将在内存中运行。
Spark GraphX图构造者GraphX提供了几种方式从RDD或者磁盘上的顶点和边集合构造图。默认情况下,没有哪个图构造者为图的边重新分...
Spark Streaming部署应用程序Requirements运行一个Spark Streaming应用程序,有下面一些步骤有管理器的集群-这是任何Spark应用程...
外部数据集Spark 可以从任何一个 Hadoop 支持的存储源创建分布式数据集,包括你的本地文件系统,HDFS,Cassandra,HBase,Amazon...
SQLite的 UNION 子句/运算符用于合并两个或多个 SELECT 语句的结果,不返回任何重复的行。 为了使用 UNION,每个 SE...
与MariaDB建立连接的一种方法是在命令提示符下使用mysql二进制文件。MySQL脚本查看下面给出的示例。 [root@host]# mysql -u root...
北京时间2017年8月11日MariaDB 10.1.26 发布了。MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL ...
在 Oracle 中,Convert() 函数可以将字符串从一个字符集转换为另一个字符集。本文要为大家带来的就是 Convert() 函数的使用方法...