zoukankan      html  css  js  c++  java
  • Activity的生命周期

    对于Activity生命周期几个主要的属性

    public void onCreate() 打开一个界面,创造界面
    public void onStart() 开始这个界面
    public void onResume() 用户操作界面,产生交互时运行
    public void onPause() 暂停界面
    public void onStop() 停止界面
    public void onDestroy() 销毁界面
    现在我们来看一个实例,先建一个Activity,如下
    public class MainActivity extends AppCompatActivity { 
    //private Button bt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /**
    对界面上的按钮进行监听 让其跳转画面
    *bt=(Button)findViewById(R.id.bt1);
    bt.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent intent = new Intent(MainActivity.this, SecondActivity.class); //跳转画面
    startActivity(intent);
    }
    }
    );*/

    Log.d("====MainActivity=","onCreate"); //与手机连接时,可以进行查询运行状态"====MainActivity="查询关键词 "onCreate" 提示信息
    }
    @Override
    protected void onStart(){
    super.onStart();
    Log.d("====MainActivity=", "onStart");
    }
    @Override
    protected void onRestart(){
    super.onRestart();
    Log.d("====MainActivity=", "onRestart");
    }
    @Override
    protected void onResume(){
    super.onResume();
    Log.d("====MainActivity=", "onResume");
    }
    @Override
    protected void onPause(){
    super.onPause();
    Log.d("====MainActivity=", "onPause");
    }
    @Override
    protected void onStop(){
    super.onStop();
    Log.d("====MainActivity=", "onStop");
    }
    @Override
    protected void onDestroy(){
    super.onDestroy();
    Log.d("====MainActivity=", "onDestroy");
    }
    }
    当你运行该app,并打开界面时运行的顺序是
    ====MainActivity=:onCreate
    ====MainActivity=: onStart
    ====MainActivity=: onResume//创建,开始,交互
    home键返回桌面
    ====MainActivity=: onPause
    ====MainActivity=: onStop
    再次进入
    ====MainActivity=: onRestart
    ====MainActivity=: onStart
    ====MainActivity=: onResume
    直接退出键退出
    ====MainActivity=: onPause
    ====MainActivity=: onStop
    ====MainActivity=:
    onDestroy

    现在我们在建立一个SecondActivity,可以从MainActivity跳转到该activity,即运行Mainactivity中注释掉的代码。SecondActivity代码如下
    public class SecondActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    }
    @Override
    protected void onStart(){
    super.onStart();
    Log.d("===M==","onStart");
    }
    @Override
    protected void onResume(){
    super.onResume();
    Log.d("===M==","onResum");
    }
    @Override
    protected void onRestart(){
    super.onRestart();
    Log.d("===M==","onRestart");
    }
    @Override
    protected void onPause(){
    super.onPause();
    Log.d("===M==","onPaues");
    }
    @Override
    protected void onStop(){
    super.onStop();
    Log.d("===M==","onStop");
    }
    @Override
    protected void onDestroy(){
    super.onDestroy();
    Log.d("===M==","onDestory");
    }
    }
    当我们进行跳转时
    ====MainActivity=: onPause
    ===M==: onStart
    ===M==: onResum
    ====MainActivity=: onStop
    返回MainActivity界面
    ===M==: onPaues
    ====MainActivity=: onRestart
    ====MainActivity=: onStart
    ====MainActivity=: onResume
    ===M==: onStop
    ===M==: onDestory
    
    
  • 相关阅读:
    http基础知识摘录
    数据库基础常用知识
    2018第18周总结
    pycharm里html注释是{# #}而不是<!-- -->?
    paramiko错误信息:Paramiko error: size mismatch in put
    jmeter的Classpath即类或者jar包的搜索路径设置
    scp、paramiko、rsync复制文件的区别
    maven打包插件maven-shade-plugin简单介绍
    sqlalchemy多表联合查询的左连接、右连接等使用
    如何查看sqlalchemy执行的原始sql语句?
  • 原文地址:https://www.cnblogs.com/leirenyuan/p/5717399.html
Copyright © 2011-2022 走看看