Android基础之Activity-生命周期(1)

一丶什么是Activity


        Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。

       见https://developer.android.google.cn/guide/components/activities.html


二丶管理生命周期


    1.Activity基本上以三种状态存在:

         继续:

                位于屏幕前台并且具有用户焦点(running)

         暂停:

                可见但不可交互.例:被半透明activity覆盖

         停止:

                不可见,处于后台,被新的activity完全覆盖

                                                           


                                                      activity_lifecycle官网图

     2.根据以上图,我们可以知道整个生命周期可以大致分为3个循环嵌套:


        -- 整个生命周期: 发生在onCreate()和onDestroy()之间.onCreate()进行全局的初始化,onDestroy()进行资源的释放.


        -- 可见生命周期: onStart()和onStop()之间,此阶段,activity可见并且可与用户进行交互.例:新的activity启动并且此activitty不可见时,执行onStop()方法.


        -- 前台生命周期: onResume()和onPause()之间,此阶段,activity位于栈顶,并且有用户输入焦点,可频繁的转入转出前台.



三丶实例


public class MainActivity extends AppCompatActivity {

    private final static String TAG = "wdl";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "onCreate: -------------------+创建");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d(TAG, "onRestart: ----------------------+重新");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "onStart: ---------------------------");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "onResume: --------------------------");
    }
    
    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "onPause: ------------------------------");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "onStop: -------------------------------");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy: ----------------------------");
    }
   
}
 
 
Test:
开启APP: onCreate()->onStart()->onResume()
点击Home键: onPause()->onStop()
重新开启上次的页面: onRestart()->onStart()->onResume()
结束APP: onPause()->onStop()->onDestroy()

4


猜你喜欢

转载自blog.csdn.net/qq_34341338/article/details/80069328