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

    Activity 的四种基本状态

    1.运行态(Running)

      Activity 处于屏幕最前端,用户可见且获得焦点。

    2.暂停态(Paused)

      Activity被置于后台,用户可见,但失去焦点

    3.停止态(Stopped)

      Activity 被新的Activity覆盖失去焦点,用户不可见。

    4.终止态(Destroyed)

      Activity被系统终止,资源被回收。

    Activity 的生命周期

       onCreate: 创建Activity 的实例对象的方法
       onStart : 启动当前的 Activity 实例的方法
       onResume: 如果该方法执行,页面的实例就和用户可以进行交互
       onPause: 如果该方法执行,页面就和用户不再交互失去焦点,页面仍旧可见 在内存当中
       onStop:页面就和用户完全不可见
       onDestroy: 销毁当前的 Activity 的页面实例
       onRestart:将至于后台的应用程序的Activity 重新显示在前台的时候被调用

    注意:

      Activity 的生命周期方法都是成对出现的。onStart----onStop  ; OnCreate -----onDestroy ;onResume----onPause

      onResume----onPause 方法会比其他的生命周期方法执行的比较频繁,所以一般在这两个方法中写的代码较少

    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Log.i("Activity", "--onCreate--方法执行了");
        }
        
        @Override
        protected void onStart() {
            Log.i("Activtiy", "--onStart--方法执行了");
            super.onStart();
        }
        
        @Override
        protected void onPause() {
            Log.i("Activity", "--onPause--方法执行了");
            super.onPause();
        }
        
        @Override
        protected void onResume() {
            Log.i("Activity", "--onResume--方法执行了");
            super.onPostResume();
        }
        
        @Override
        protected void onStop() {
            Log.i("Activity", "--onStop--方法执行了");
            super.onStop();
        }
        
        @Override
        protected void onDestroy() {
            Log.i("Activity", "--onDestroy--方法执行了");
            super.onDestroy();
        }
        
        @Override
        protected void onRestart() {
            Log.i("Activity", "--onRestart--方法执行了");
            super.onRestart();
        }
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    }

     详细可以转至:http://www.cnblogs.com/heyhhz/p/6121767.html

    谢谢大家的关注。世界上只有想不通的人,没有走不通的路

  • 相关阅读:
    bug-- java.lang.RuntimeException: Type “Klass*"
    ThreadPoolExecutor源码分析二
    ThreadPoolExecutor源码分析一
    java动态代理框架
    liunx 中一个命令可以检测 ps -C java --no-heading| wc -l 一般用于shell脚步编写用
    log4j.properties 使用说明
    图文详解MyEclipse中新建Maven webapp项目的步骤(很详细)
    MySQL高可用性之Keepalived+Mysql(双主热备)
    使用cglib动态创建类,添加方法
    2017年5月5日 星红桉liunx动手实践mysql 主主双机热备
  • 原文地址:https://www.cnblogs.com/hxb2016/p/6125856.html
Copyright © 2011-2022 走看看