android activity 生命周期
android activity生命周期是安卓开发的基础知识,正确并熟悉掌握activity的生命周期会对项目开发有很大的作用.同样说到activity生命周期,常规都是,开篇一张图,但是内容这次是通过实践的哦,绝不是虚假的,
android activity的生命周期_第1张图片图片来源于https://me.csdn.net/zhangxuechao_这个博客,如图所示,当activity启动时,会依次调用onCreate()、onStart()、onReseum(),还会调用onWindowFocusChanged(),这个函数在Activity窗口获得或失去焦点时被调用,例如activity创建时首次呈现在用户面前;当前Activity被其他Activity覆盖;当前Activity转到其他Activity或按Home键回到主屏,自身退居后台;用户退出当前Activity。以上几种情况都会调用onWindowFocusChanged,并且当Activity被创建时是在onResume之后被调用,当Activity被覆盖或者退居后台或者当前Activity退出时,它是在onPause之后被调用如下图所示(原谅我打日志喜欢用比较醒目的红色):
在这里插入图片描述

当我们点击home键,就会依次调用onWindowFocusChanged()、onPause()、onStop方法
在这里插入图片描述
当我们没有在后台清除掉app,再次打开时会先调用onRestart()和onStart()方法,然后调用onReseum、onWindowFocusChanged(),如果后台清除掉了app,那么会象app启动时那样调用onCreate()、onStart()、onReseum()、onWindowFocusChanged()四个方法
在这里插入图片描述
当点击返回键返回到桌面时会调用onPause()、onWindowFocusChanged()、onStop()、和onDestory()函数
在这里插入图片描述

当跳转到另一个页面时,会调用onWindowFocusChanged()、onPasue(),和onStop()函数
在这里插入图片描述
当从第二个页面返回到当前页面时,会调用onRestart()、onStart()、和onResume()、onWindowFocusChanged()函数
在这里插入图片描述当点击关闭屏幕的按钮时,即锁屏时会调用onPause()、和onStop()、onWindowFocusChanged()函数
在这里插入图片描述
当返回当前页面,若当前页面还存在就会调用onRestart()、onStart()、onResume()方法
在这里插入图片描述最后附上我的测试代码

public class MainActivity extends AppCompatActivity {    private String TAG="activity生命周期";    private Context mContext=this;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button click_to_next_act=findViewById(R.id.click_to_next_act);        click_to_next_act.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent=new Intent(mContext,SecondActivity.class);                startActivity(intent);            }        });        Log.e(TAG,"onCreate被调用了");    }    @Override    protected void onStart() {        super.onStart();        Log.e(TAG,"onStart()被调用了");    }    @Override    protected void onDestroy() {        super.onDestroy();        Log.e(TAG,"onDestroy()被调用了");    }    @Override    protected void onPause() {        super.onPause();        Log.e(TAG,"onPause()被调用了");    }    @Override    protected void onResume() {        super.onResume();        Log.e(TAG,"onResume()被调用了");    }    @Override    protected void onRestart() {        super.onRestart();        Log.e(TAG,"onRestart()被调用了");    }    @Override    protected void onStop() {        super.onStop();        Log.e(TAG,"onStop()被调用了");    }    //Activity窗口获得或失去焦点时被调用,在onResume之后或onPause之后    @Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        Log.e(TAG, "onWindowFocusChanged被调用了.");    }}

更多相关文章

  1. C语言函数以及函数的使用
  2. Android 四大组件之Activity生命周期
  3. android页面布局
  4. ViewPager实现一个页面多个Item的显示
  5. android 嵌入服务端页面二 之WebView与页面互调
  6. Android学习笔记——Android生命周期
  7. android 设置主页面的方式
  8. android 回调函数二:应用实例
  9. 【Android】Android的Activity生命周期

随机推荐

  1. Android(安卓)app的混淆打包
  2. Android(安卓)logcat 后台运行
  3. Android(安卓)4.x下基于wm8994的mic检测
  4. Android四大组件中每个组件的作用是什么?
  5. 认识 android 中的 LayoutInflater
  6. Android教程之如何使用自定义字体
  7. 不同android 版本的webview底层实现有差
  8. Android下载apk文件并安装
  9. Android(安卓)设计模式 之 观察者模式
  10. Android学习笔记_4_单元测试