在Android开发中,第一步学习的应该是最基础的东西,即Activity的声明周期,相信Activity对于从事Android开发的朋友都很熟悉,这里作者不多做解释。Android的生命周期可以用如下所示的图来说明(此图来自Android Developer官网):
由图示可以看出,Android应用程序从运行到结束要先后经历六个过程,第一个:onCreate()就是对应用程序进行初次创建所回调的函数,一般在这个函数中初始化应用程序的界面,第二个和第三个分别是启动应用时所回调的函数,之后应用程序进入Activity running状态。
接着如果有其他的Activity挡住前一个Activity,但是并没有完全挡住的时候,即前一个Activity失去了焦点,此时onPause()回调,当另一个Activity完全挡住前一个Activity的时候,此时回调函数onStop(),如果此时退出程序或者是调用函数finish(),那么Activity进入onDestory()阶段,图中的反向箭头指的是在某一种情况下的Activity的反应,在这里不多做解释。
为了更清楚的说明这个问题,一下是测试代码,以供参考:public class Life_Test extends Activity {
private Button button;
private Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_life__test);
Log.d("Debug", "onCreate");
button=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder=new Builder(Life_Test.this);
builder.setTitle("Test...");
builder.setMessage("This is Test_Dialg..");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
builder.show();
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
final Intent intent=new Intent(Life_Test.this,Activity02.class);
startActivity(intent);
}
});
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("Debug", "onStart");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.d("Debug", "onDestroy");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.d("Debug", "onPause");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.d("Debug", "onRestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.d("Debug", "onResume");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.d("Debug", "onStop");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_life__test, menu);
return true;
}
}
public class Activity02 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity02);
Log.d("Debug2", "------>oncreate");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("Debug2", "------>onstart");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.d("Debug2", "------>ondestory");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.d("Debug2", "------>onpause");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.d("Debug2", "------>onrestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.d("Debug2", "------>onresume");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.d("Debug2", "------>onstop");
}
}
到此Activity的生命周期就介绍完毕了。
分享到:
相关推荐
1. 掌握activity组件生命周期函数的用法 2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和...
NULL 博文链接:https://zzqrj.iteye.com/blog/1124449
Android应用开发
有助于深入了解Android Activity生命周期的测试代码,可以结合博客http://blog.csdn.net/freetangxiaoying/article/details/17167819领悟。
android bind life activity fragment 生命周期 绑定
中,Activity具有自己的生命周期(由系统控制生命周期,程序无法改变,但可 以用onSaveInstanceState保存其状态)。 对于Activity,关键是其生命周期的把握(如那张经典的生命周期图=.=),其 次就是状态的保存和恢复...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
对于应用开发者来说,理解不同的应用组件(特别是Activity、Service、Intent Receiver)对应用进程的生命周期的影响,这是非常重要的。如果没有正确地使用这些组件,将会导致当应用正在处理重要的工作时,进程却被...
devDiv 移动开发丛书之android 第二章 activity 生命周期
Android生命周期演示展示android活动生命周期的android应用演示。 有两个活动, MainActivity.java和secondActivity.java 。 使用logcat和log类,当两个活动中的每个回调都被调用时,此应用向用户显示。 这两个活动...
Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及...
[Android开发从零开始].8.Activity生命周期
(2)上机要求1. 完成实验目的所涉及内容2. 保存工程文件与开发环境,以供下次上机使用二,上机内容与步骤创建Activity生命周期程序在Android St
Android开发教程_016_Activity生命周期_标清
1、设计界面,包括四个按钮,两个文本框。单击对应按钮可以启动对应...假定Activity A为启动Activity。 2、修改 Activity 的启动模式 LaunchMode,并通过 Log 信息来体会不同启动模式所对应的Activity 和 task 的关系
了解Android系统的进程优先级的变化方式 了解Android系统的四大基本组件 ... 了解Activity的生命周期中各状态的变化关系 掌握Activity事件回调函数的作用和调用顺序 掌握Android应用程序的调试方法和工具
Android Activity生命周期测试程序,可以用作Android开发辅助小工具。
活动的生命周期 10. 储存资讯(Preference)(BMI7) 11. 发布到Android 市集(Market) 12. 开发不息 􀂾 附录 􀁺 资源 1. Android 相关资源(相关资源) 2. 后续章节 3. 取得原始码 􀁺 范例 gBMI...
9. 活动的生命周期 10. 储存资讯(Preference)(BMI7) 11. 发布到Android 市集(Market) 12. 开发不息 � 附录 � 资源 1. Android 相关资源(相关资源) 2. 后续章节 3. 取得原始码 � 范例 gBMI:输入身高体重(公制),...
这是一个有关于Android开发平台的论文译文