设为首页 加入收藏

TOP

Activity的生命周期(一)
2017-10-11 18:27:13 】 浏览:6778
Tags:Activity 生命 周期
    一、Activity大致分为以下四种状态:
         运行状态:当前Activity位于前台,用户可见,可以获得焦点。
         暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点。
         停止状态:该Activity不可见,失去焦点。
         销毁状态:该Activity结束,或Activity所在的进程被结束。
 图为生命周期以及相关回调方法:

 

二、方法解读:
        onCreate(Bundle savedStatus):创建Activity时被回调,只在创建时调用一次,用于对该Activity执行初始化。
        onStart( ):启动Activity时被回调。
        onRestart( ):重新启动Activity时被回调。
        onResume( ):恢复Activity时被回调,在onStart()方法后一定会回调此方法。
        onPause( ):暂停Activity被回调。例如:用户正在玩游戏,此时有电话打进来,那么我们就需要把游戏暂停,并且保存该游戏的进行状态。
        onStop( ):停止Activity时被回调。
        onDestroy( ):销毁Activity时被回调。
三、示例:
       创建一个Activity实现所有生命周期回调方法:布局中只有两个按钮,一个按钮监听跳转Activity,另一个退出Activity     
public class LifeOfActivity extends Activity{
final String TAG="执行的方法是:";
private Button btn_start,btn_finish;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lifeofactivity);
//当执行onCreate方法时,输出此日志(创建Activity回调)
Log.i(this.TAG,"-创建Activity回调-onCreate--");
//找到按钮
this.btn_start= (Button) findViewById(R.id.btn_start);
this.btn_finish= (Button) findViewById(R.id.btn_finishh);
//为按钮设置监听:
this.btn_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(LifeOfActivity.this,MainActivity.class);
startActivity(intent);
}
});
this.btn_finish.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LifeOfActivity.this.finish();
}
});
}

@Override
protected void onStart() {
super.onStart();
//当执行onStart方法时,输出此日志(启动Activity时被回调)
Log.i(this.TAG,"-启动Activity时被回调-onStart--");

}

@Override
protected void onResume() {
super.onResume();
//当执行onResume方法时,输出此日志(恢复Activity时被回调)
Log.i(this.TAG,"-恢复Activity时被回调-onResume--");
}

@Override
protected void onRestart() {
super.onRestart();
//当执行onRestart方法时,输出此日志(重新启动Activity时被回调)
Log.i(this.TAG,"-重新启动Activity时被回调-onRestart--");
}

@Override
protected void onPause() {
super.onPause();
//当执行onPause方法时,输出此日志(暂停Activity被回调)
Log.i(this.TAG,"-暂停Activity被回调-onPause--");
}

@Override
protected void onStop() {
super.onStop();
//当执行onStop方法时,输出此日志(停止Activity时被回调)
Log.i(this.TAG,"-停止Activity时被回调-onStop--");
}

@Override
protected void onDestroy() {
super.onDestroy();
//当执行onDestroy方法时,输出此日志(销毁Activity时被回调)
Log.i(this.TAG,"-销毁Activity时被回调-onDestroy--");
}
}
 
 
总结:
         启动Activity时执行: onCreate、 onStart、onResume三个方法
         重新启动Activity时执行: onRestart、onStart、onResume三个方法
         当跳转到另一个Activity先后执行: onPause, onStop方法
         当退出Activity时会先后执行:    onPause、 onStop、onDestroy三个方法
 
       
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MongoDB日志文件过大的解决方法 下一篇定时开关机方案

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目