总想整理一下知识,可总是因为各种原因搁置。说到底还是懒,但是呢整理的这个心又不死。
所以我想到的解决办法就是,从最简单的知识开始整理记录,如果习惯养成了,那么复杂的
也就没那么复杂了。希望能有所收获!
简单,到底有多简单呢,就是创建了一个项目,只有一个Activity,重写了它的生命周期方
法,就打开与关闭应用,看都走了哪些生命周期方法。如果你看到了这里,觉得太简单了,轻
喷,我只为自己整理思路。
代码
package com.itlong.myactivity;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button mBtn;
@Override protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
mBtn = findViewById (R.id.btn);
mBtn.setOnClickListener (this);
LogUtils.i ("onCreate");
}
@Override protected void onStart () {
super.onStart ();
LogUtils.i ("onStart");
}
@Override protected void onResume () {
super.onResume ();
LogUtils.i ("onResume");
}
@Override protected void onRestart () {
super.onRestart ();
LogUtils.i ("onRestart");
}
@Override protected void onPause () {
super.onPause ();
LogUtils.i ("onPause");
}
@Override protected void onStop () {
super.onStop ();
LogUtils.i ("onStop");
}
@Override protected void onDestroy () {
super.onDestroy ();
LogUtils.i ("onDestroy");
}
/*
* <des>
* 异常退出时保存数据使用
* </des>
* @Author :shuangyue
* @Date :2018/6/28
* @Time :21:14
*/
@Override protected void onSaveInstanceState (Bundle outState) {
LogUtils.i ("onSaveInstanceState");
super.onSaveInstanceState (outState);
}
/*
* <des>
* 异常退出时,可以在该方法中恢复数据
* </des>
* @Author :shuangyue
* @Date :2018/6/28
* @Time :21:27
*/
@Override protected void onRestoreInstanceState (Bundle savedInstanceState) {
LogUtils.i ("onRestoreInstanceState");
super.onRestoreInstanceState (savedInstanceState);
}
/*
* <des>
* 配置信息发生改变时的回调
* </des>
* @Author :shuangyue
* @Date :2018/6/28
* @Time :21:14
*/
@Override public void onConfigurationChanged (Configuration newConfig) {
LogUtils.i ("onConfigurationChanged");
super.onConfigurationChanged (newConfig);
}
/*
* <des>
* 当启动模式为 单一顶部模式、单一任务默认,或者单一实例模式时,
* 再次启动该Activity时,不会走生命周期方法,而走该方法;
* 产生疑问?会不会走onStart与onResume方法呢?
* </des>
* @Author :shuangyue
* @Date :2018/6/28
* @Time :21:15
*/
@Override protected void onNewIntent (Intent intent) {
LogUtils.i ("onNewIntent");
super.onNewIntent (intent);
}
@Override public void onClick (View v) {
switch (v.getId ()){
case R.id.btn:
finish ();
break;
}
}
}
打开应用
关闭应用
总结
当只有一个Activity时,
打开应用的生命周期方法是:
onCreate()
onStart()
onResume()
关闭应用的生命周期方法是
onPause()
onStop()
onDestroy()
onCreate()
Activity第一次被创建时调用,通常在这个方法中会完成,加载布局,初始化布局,设置事件监听。
onStart()
Activity可见时被调用,可以在该方法中,设置界面显示内容以及恢复数据等操作。
onResume()
Activity可操作时被调用。
onPause()
Activity不可操作时被调用。
onStop()
Activity不可见时被调用,可在该方法中,持久化数据。
onDestroy()
Activity销毁时被调用,可在该方法中释放以前申请的资源,防止内存溢出。