Activity生命周期:
在系统中Activity被一个Activity栈管理,当一个新的Activity启动的时,将被放置到栈顶,成为运行中的Acrivity,
前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止;
Activity有四种本质区别的状态:在屏幕前台(栈顶的),叫做活动状态或者运行状态(active or running);如果一个Acrivity
失去了焦点,但依然可见(一个新的非全屏的Activity或者一个透明的Activity 被放置到了栈顶) , 叫做暂停状态(Paused);一个暂停
状态的Activity仍然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统极端低下的时候将被杀掉;如果
一个Activity被另一个Activity完全覆盖掉,叫做停止状态(Stopped);它依然保持所有状态和成员信息,但是它不可见,所以它的
窗口被隐藏,同样当内存不足的时候被系统抹杀掉;Android系统使用两种方式进行删除,要么要求该Activity结束,要么直接关掉
进程。当该Activity要再次显示给用户时,必须重新开始和重置前面的状态;
生命周期的循环中有三个关键的问题:
1、整个的生命周期:从onCreate(Bundle); 开始到onDestroy();结束。Activity在onCreate(Bundle)中设置所有的全局状态
在onDestroy(),释放所有的资源;
2、可见的生命周期:从onStrat(); 开始到onStop();结束。在这段时间,可以看到Activity在屏幕上,尽管有可能不在前台,
不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等;
3、前台的生命周期:从onResume();开始到onPause();结束,这段时间里,该Activity处于所有的Activity的最前面,和用户
进行交互。Activity可以经常性的在resumed和paused状态之间切换;
以下接口定了Activity的整个生命周期方法:
public class Activity extends ApplicationContext{
protected void onCreate(Bundle icicle);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onFreeze(Bundle outIcicle);
protected void onPause();
protected void onStop();
protected void onDestroy();
}
//生命周期代码切换
package com.example.lifetcycle;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/* Activity生命周期 ,代码说明 */
public class MainActivity extends Activity {
/* 初始化activity,这儿通常用于调用资源文件中的UI */
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i("MainActivity", "执行:onCreate()");
/* 生命周期,Activity之间跳转阶段测试 */
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
});
}
/* 开始阶段 */
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i("MainActivity", "执行:onStart()");
}
/* 重启 */
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i("MainActivity", "执行:onRestart()");
}
/* 运行 */
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("MainActivity", "执行:onResume()");
}
/* 暂停阶段 *//* 使用这准备离开activity的地方 */
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i("MainActivity", "执行:onPause()");
}
/* 停止阶段 */
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i("MainActivity", "执行:onStop()");
}
/* 销毁阶段 */
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i("MainActivity", "执行:onDestroy()");
}
}
被请求的Activity:
import android.app.Activity;
import android.os.Bundle;
public class SecondActivity extends Activity {
/* 测试生命周期 */
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
}
分享到:
相关推荐
Android之Activity生命周期,适合新手学习,全面而详细的介绍了Activity的生命周期。
有助于深入了解Android Activity生命周期的测试代码,可以结合博客http://blog.csdn.net/freetangxiaoying/article/details/17167819领悟。
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
android组件Activity 的生命周期
Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。
Android说明Activity生命周期的代码例子。用于演示Activity组件从创建到销毁的完整生命周期,以及Activity在不同栈方式下的置换算法。
android 启动 activity生命周期
演示Android activity的小工程,对应博文地址:http://blog.csdn.net/djstavaV/article/details/48809135
描述 Android Activity生命周期之间的关系
android下activity生命周期 生命周期: 回调 描述 onCreate() 这是第一个回调,在活动第一次创建是调用 onStart() 这个回调在活动为用户可见时被调用 onResume() 这个回调在应用程序与用户开始可交互的时候调用 ...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
Android_Activity_生命周期例子.主要通过几个activity 相互调用 解释生命周期,应该对大家了解android activity 的生命周期有所帮助
源码 博文链接:https://104zz.iteye.com/blog/1685753
android中Activity生命周期过程的详细解析
Android Activity 生命周期
android_ctivity生命周期,应用程序组件的简介以及生命周期,会对Andriod的开发最基本的有些深刻的认识
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
Android-activity生命周期简单介绍,打好基础
android activty 生命周期 详细介绍
Android屏幕旋转时Activity的生命周期