zoukankan      html  css  js  c++  java
  • 活动的生命周期(三):实例上机课

        让我们再来回顾一下上节课中分享的7个生命周期;分别是:onCreate()、onSart()、onResme()、onPause()、onStop()、onDestroy()、onRestart();

             1.onCreate():初始化操作,所有活动都从这里启始。这里可以加载布局,或绑定事件等。

             2.onSart():这个是活动变为不可见时调用。

             3.onResme():这个方法一直处于栈的顶部,在和用户交互时调用,一直处于动行状态。

             4.onPause():系统准备去启动或者恢复另一个活动时调用。这个方法以通常用来释放内存或保存数据,一定要快,不然会影响到栈顶部的活动运行。

             5.onStop():这个方法是活动处于不可见时调用,它与onPause()的区别在于如果启动的活动是一个对话框式的,则onPause()会得到执行而onStop()的不会执行。

             6.onDestroy():这个是活动被回收时调用,调用后活动就会被回收。

             7.onRestart():重启处于停止状态的活动。

        下面让我们来创建一个实例来检验一下上节课所学到的知识,这次我们重新创建一个项目:activtityLifecysletest

             分别是dialog_Activity、NormalActivity、 MainActivity。其中dialog_Activity、NormalActivity分别有一个txtview控件,txt为活动的中文名。MainActivity中有两个按钮分别启动dialog_Activity、NormalActivity之用。在MainActivity注册两个活动的事件,然后调用几个回调函数来记录日志,让我们看清楚这7个方法的启动顺序。

          

    public class MainActivity extends AppCompatActivity {
    
        public static final String TAG = "MainActivity";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Log.d(TAG, "onCreate");
    
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.activity_main);
            Button startNormalActivty = (Button) findViewById(R.id.start_normal_activity);
            Button startDialogActivty = (Button) findViewById(R.id.start_dialog_activity);
    
            startNormalActivty.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(MainActivity.this, NormalActivity.class);
                   startActivity(intent);
                }
            });
    
            startDialogActivty.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(MainActivity.this, dialog_Activity.class);
                    startActivity(intent);
                }
            });
    
        }
    
        @Override
        protected void onStart() {
            super.onStart();
            Log.d(TAG, "onStart服务开始");
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            Log.d(TAG, "Resume活跃状态");
        }
        @Override
        protected  void  onStop(){
            super.onStop();
            Log.d(TAG,"onStop活动停止") ;
        }
           @Override
           protected void onDestroy(){
                super.onDestroy();
               Log.d(TAG,"onDestroy活动销毁");
           }
        @Override
        protected  void onRestart()
        {
              super.onRestart();
            Log.d(TAG,"onRestart活动重启")  ;
    
        }
    
    }

       以上是MainActivity的代码。两个活动的这里就不写了,小Y的键盘真心不好用。快被虐哭了。直接上图吧。

       

        

            

             



  • 相关阅读:
    exgcd模板
    jnYaVpqwsq
    Http状态码完整说明
    字符串的常用方法
    MVC4.0 Controller和View重复加载
    ASP.NET MVC4中的Model验证 移除指定验证信息
    枚举类型定义字符串
    MVC4.0系统开发新手历程(四)数据列表查询
    MVC4.0系统开发新手历程(三)---数据导入计算
    MVC4.0系统开发新手历程(二)
  • 原文地址:https://www.cnblogs.com/c546170667/p/6111882.html
Copyright © 2011-2022 走看看